[xml] Crash using xmlFreeNode
- From: "Theodore H. Smith" <delete elfdata com>
- To: xml gnome org
- Subject: [xml] Crash using xmlFreeNode
- Date: Sat, 31 Dec 2005 01:04:08 +0000
I'm getting a crash using xmlFreeNode.
The stack frame reads:
#0 0x92c29a58 in xmlFreeNodeList
#1 0x92c29cd8 in xmlFreeNode
#2 0x0009112c in ReplaceDependancies at SCORMDisag.cpp:168
ReplaceDependancies is my own function.
The function is this:
void ReplaceDependancies( xmlNode* WholeRoot, xmlNode* NewResource,
XML_Map& xMap ) {
xmlNode* next = My_XMLGetElement(NewResource, "dependency");
while (next) {
xmlNode* dep = next;
next = My_XMLNextElement( dep, "dependency" );
ReplaceDepSub( WholeRoot, NewResource, dep, xMap );
xmlUnlinkNode( dep );
xmlFreeNode( dep );
};
}
If I comment out xmlFreeNode, then the code *appears* to work
perfectly. (Although it might still be doing something wrong.)
Am I doing something wrong? The NewResource xmlNode* parameter, was
created via xmlCopyNode. The document copied from has an XML name
space, and so NewResource has an "xmlns" attribute.
Actually a separate issue is that I wish NewResource *didn't* have an
xmlns resource. This is because the document I am putting it back
into, (via xmlAddChild), has a name space already! And so the xmlns
thingy gets duplicated. It's quite annoying to look at duplicate
xmlns attributes. They weren't there in the original XML so they
shouldn't be there in the copied XML, and they arent' needed even to
maintain the XML's meaning, because I'm putting it back into a
document with the same name space.
I'd like some way to disable this automatic xmlns addition, please.
Also, this list is quite quiet. Not much activity. Is it because of
the holiday or has the list quietned down over time? Really I just
worry about getting an answer to my questions!
Thanks in advance to anyone who is able to advise!
[
Date Prev][
Date Next] [
Thread Prev][Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]