From 25ffa3ff82e7f63cbb7645519b4951cb50adc840 Mon Sep 17 00:00:00 2001 From: Doug Simons Date: Sat, 14 Jan 2012 06:51:13 +0000 Subject: [PATCH] fix rootElement git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/branches/nsxml_using_libxml2@34522 72102866-910b-0410-8b05-ffd578937521 --- Source/NSXMLDocument.m | 7 +++++-- Source/NSXMLNode.m | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/NSXMLDocument.m b/Source/NSXMLDocument.m index 72f087b77..4d342fc5b 100644 --- a/Source/NSXMLDocument.m +++ b/Source/NSXMLDocument.m @@ -38,6 +38,9 @@ extern void clearPrivatePointers(xmlNodePtr aNode); @interface NSXMLNode (Private) - (void *) _node; - (void) _setNode: (void *)_anode; ++ (NSXMLNode *) _objectForNode: (xmlNodePtr)node; +- (void) _addSubNode:(NSXMLNode *)subNode; +- (void) _removeSubNode:(NSXMLNode *)subNode; @end @implementation NSXMLDocument @@ -180,8 +183,8 @@ extern void clearPrivatePointers(xmlNodePtr aNode); - (NSXMLElement*) rootElement { - xmlNodePtr node = xmlDocGetRootElement(MY_DOC); - return (NSXMLElement *)(node->_private); + xmlNodePtr rootElem = xmlDocGetRootElement(MY_DOC); + return (NSXMLElement *)[NSXMLNode _objectForNode:rootElem]; } - (void) setCharacterEncoding: (NSString*)encoding diff --git a/Source/NSXMLNode.m b/Source/NSXMLNode.m index ca517edd3..b5a56208f 100644 --- a/Source/NSXMLNode.m +++ b/Source/NSXMLNode.m @@ -78,10 +78,10 @@ void clearPrivatePointers(xmlNodePtr aNode) switch(type) { case(XML_DOCUMENT_NODE): - result = [[self alloc] initWithKind: NSXMLDocumentKind]; + result = [[NSXMLDocument alloc] initWithKind: NSXMLDocumentKind]; break; case(XML_ELEMENT_NODE): - result = [[self alloc] initWithKind: NSXMLElementKind]; + result = [[NSXMLElement alloc] initWithKind: NSXMLElementKind]; break; case(XML_TEXT_NODE): result = [[self alloc] initWithKind: NSXMLTextKind];