From eaa49d6e3992925ad305c207fb93fc3431352512 Mon Sep 17 00:00:00 2001 From: Doug Simons Date: Fri, 13 Jan 2012 18:24:10 +0000 Subject: [PATCH] for documents, use children of rootElement; fix XMLStringWithOptions: git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/branches/nsxml_using_libxml2@34511 72102866-910b-0410-8b05-ffd578937521 --- Source/NSXMLNode.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Source/NSXMLNode.m b/Source/NSXMLNode.m index e69cf85e1..c074f860f 100644 --- a/Source/NSXMLNode.m +++ b/Source/NSXMLNode.m @@ -251,6 +251,8 @@ GS_PRIVATE_INTERNAL(NSXMLNode) NSUInteger count = 0; xmlNodePtr children = NULL; xmlNodePtr node = (xmlNodePtr)(internal->node); + if (node->type == XML_DOCUMENT_NODE) + node = xmlDocGetRootElement((xmlDocPtr)node); for (children = node->children; children && count != index; children = children->next) { @@ -265,6 +267,8 @@ GS_PRIVATE_INTERNAL(NSXMLNode) NSUInteger childCount = 0; xmlNodePtr children = NULL; xmlNodePtr node = (xmlNodePtr)(internal->node); + if (node->type == XML_DOCUMENT_NODE) + node = xmlDocGetRootElement((xmlDocPtr)node); for (children = node->children; children; children = children->next) { @@ -279,6 +283,8 @@ GS_PRIVATE_INTERNAL(NSXMLNode) NSMutableArray *childrenArray = [NSMutableArray array]; xmlNodePtr children = NULL; xmlNodePtr node = (xmlNodePtr)(internal->node); + if (node->type == XML_DOCUMENT_NODE) + node = xmlDocGetRootElement((xmlDocPtr)node); for (children = node->children; children; children = children->next) { @@ -619,7 +625,7 @@ GS_PRIVATE_INTERNAL(NSXMLNode) error = xmlNodeDump(buffer, doc, node, 1, 1); buf = buffer->content; - len = buffer->size; + len = buffer->use; string = StringFromXMLString(buf,len); xmlBufferFree(buffer); AUTORELEASE(string);