preserving c1->snext and c2->snext in swap() as well.
0b7c0f10
1 file(s) · +4 −0
| 34 | 34 | Client tmp = *c1; |
|
| 35 | 35 | Client *c1p = c1->prev; |
|
| 36 | 36 | Client *c1n = c1->next; |
|
| 37 | + | Client *c1s = c1->snext; |
|
| 37 | 38 | Client *c2p = c2->prev; |
|
| 38 | 39 | Client *c2n = c2->next; |
|
| 40 | + | Client *c2s = c2->snext; |
|
| 39 | 41 | ||
| 40 | 42 | *c1 = *c2; |
|
| 41 | 43 | *c2 = tmp; |
|
| 42 | 44 | c1->prev = c1p; |
|
| 43 | 45 | c1->next = c1n; |
|
| 46 | + | c1->snext = c1s; |
|
| 44 | 47 | c2->prev = c2p; |
|
| 45 | 48 | c2->next = c2n; |
|
| 49 | + | c2->snext = c2s; |
|
| 46 | 50 | } |
|
| 47 | 51 | ||
| 48 | 52 | static void |