Mercurial > pidgin
comparison libpurple/xmlnode.c @ 19388:1c97caf1ebbb
xmlnode bugfix patch from Mauro Brasil
| author | Sean Egan <seanegan@gmail.com> |
|---|---|
| date | Thu, 23 Aug 2007 21:20:49 +0000 |
| parents | 6050348614ab |
| children | 472bcd9d502e 077c2df60c38 |
comparison
equal
deleted
inserted
replaced
| 19385:3bc55836f621 | 19388:1c97caf1ebbb |
|---|---|
| 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 */ |
