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