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 */ |