mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-30 08:21:25 +00:00
* Source/NSXMLDocument.m: Correct memory management.
* Source/NSXMLElement.m, * Source/NSXMLNode.m: Add partial support for namespaces. Try to bracket more libxml2 functions with version checks. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@34967 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
b5181106dd
commit
6bb7c00782
4 changed files with 383 additions and 100 deletions
|
@ -220,6 +220,10 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
|
|||
|
||||
- (void) setCharacterEncoding: (NSString*)encoding
|
||||
{
|
||||
if (internal->node->encoding != NULL)
|
||||
{
|
||||
xmlFree((xmlChar *)internal->node->encoding);
|
||||
}
|
||||
internal->node->encoding = XMLStringCopy(encoding);
|
||||
}
|
||||
|
||||
|
@ -264,6 +268,7 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
|
|||
// remove all sub nodes
|
||||
[self setChildren: nil];
|
||||
|
||||
// FIXME: Should we use addChild: here?
|
||||
xmlDocSetRootElement(internal->node, [root _node]);
|
||||
|
||||
// Do our subNode housekeeping...
|
||||
|
@ -279,8 +284,12 @@ GS_PRIVATE_INTERNAL(NSXMLDocument)
|
|||
{
|
||||
if ([version isEqualToString: @"1.0"] || [version isEqualToString: @"1.1"])
|
||||
{
|
||||
if (internal->node->version != NULL)
|
||||
{
|
||||
xmlFree((xmlChar *)internal->node->version);
|
||||
}
|
||||
internal->node->version = XMLStringCopy(version);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
[NSException raise: NSInvalidArgumentException
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue