Mercurial > pidgin
comparison libpurple/xmlnode.c @ 19484:472bcd9d502e
propagate from branch 'im.pidgin.pidgin' (head 384c9116031084a2f41659dc9e9a4aa7bba55d86)
to branch 'im.pidgin.soc.2007.xmpp' (head 3826e19f149ec8f3f701f463eec7825eed512d05)
| author | Evan Schoenberg <evan.s@dreskin.net> |
|---|---|
| date | Mon, 27 Aug 2007 21:59:11 +0000 |
| parents | 5c1ed6296b56 1c97caf1ebbb |
| children | 1d2002a5735e |
comparison
equal
deleted
inserted
replaced
| 19279:39779b201e7c | 19484:472bcd9d502e |
|---|---|
| 270 | 270 |
| 271 /* if we're part of a tree, remove ourselves from the tree first */ | 271 /* if we're part of a tree, remove ourselves from the tree first */ |
| 272 if(NULL != node->parent) { | 272 if(NULL != node->parent) { |
| 273 if(node->parent->child == node) { | 273 if(node->parent->child == node) { |
| 274 node->parent->child = node->next; | 274 node->parent->child = node->next; |
| 275 if (node->parent->lastchild == node) | |
| 276 node->parent->lastchild = node->next; | |
| 275 } else { | 277 } else { |
| 276 xmlnode *prev = node->parent->child; | 278 xmlnode *prev = node->parent->child; |
| 277 while(prev && prev->next != node) { | 279 while(prev && prev->next != node) { |
| 278 prev = prev->next; | 280 prev = prev->next; |
| 279 } | 281 } |
| 280 if(prev) { | 282 if(prev) { |
| 281 prev->next = node->next; | 283 prev->next = node->next; |
| 284 if (node->parent->lastchild == node) | |
| 285 node->parent->lastchild = prev; | |
| 282 } | 286 } |
| 283 } | 287 } |
| 284 } | 288 } |
| 285 | 289 |
| 286 /* now free our children */ | 290 /* now free our children */ |
