diff --git a/xinclude.c b/xinclude.c index 27ff79f85520463cd930c3427b9401f67418a274..db4e2f7d0f8fed517d29c3961a6efe9be1966e90 100644 --- a/xinclude.c +++ b/xinclude.c @@ -1004,15 +1004,15 @@ xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target, if (list == NULL) { list = tmp; listParent = cur->parent; + last = tmp; } else { if (level == lastLevel) - xmlAddNextSibling(last, tmp); + last = xmlAddNextSibling(last, tmp); else { - xmlAddChild(last, tmp); + last = xmlAddChild(last, tmp); lastLevel = level; } } - last = tmp; if (index2 > 1) { end = xmlXIncludeGetNthChild(cur, index2 - 1); @@ -1093,12 +1093,11 @@ xmlXIncludeCopyRange(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target, } if (tmp != NULL) { if (level == lastLevel) - xmlAddNextSibling(last, tmp); + last = xmlAddNextSibling(last, tmp); else { - xmlAddChild(last, tmp); + last = xmlAddChild(last, tmp); lastLevel = level; } - last = tmp; } } /* @@ -1176,8 +1175,7 @@ xmlXIncludeCopyXPointer(xmlXIncludeCtxtPtr ctxt, xmlDocPtr target, if (last == NULL) { list = last = tmp; } else { - xmlAddNextSibling(last, tmp); - last = tmp; + last = xmlAddNextSibling(last, tmp); } cur = cur->next; continue; diff --git a/xpointer.c b/xpointer.c index c1732a584a6b71481b03c23568caf2abab3788f8..624b8d29a9525796985c4481a55576b64b25a2a5 100644 --- a/xpointer.c +++ b/xpointer.c @@ -1470,16 +1470,16 @@ xmlXPtrBuildRangeNodeList(xmlXPathObjectPtr range) { return(list); } else { tmp = xmlCopyNode(cur, 0); - if (list == NULL) + if (list == NULL) { list = tmp; - else { + parent = tmp; + } else { if (last != NULL) - xmlAddNextSibling(last, tmp); + parent = xmlAddNextSibling(last, tmp); else - xmlAddChild(parent, tmp); + parent = xmlAddChild(parent, tmp); } last = NULL; - parent = tmp; if (index2 > 1) { end = xmlXPtrGetNthChild(cur, index2 - 1); @@ -1561,8 +1561,7 @@ xmlXPtrBuildRangeNodeList(xmlXPathObjectPtr range) { if (last != NULL) xmlAddNextSibling(last, tmp); else { - xmlAddChild(parent, tmp); - last = tmp; + last = xmlAddChild(parent, tmp); } } }