From 254b12607d427687ae5c1bd75fabaf2ca530b65e Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Sat, 1 Nov 2003 17:04:58 +0000 Subject: second BeOS patch from Marcin 'Shard' Konicki Daniel * tree.c nanohttp.c threads.c: second BeOS patch from Marcin 'Shard' Konicki Daniel --- tree.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'tree.c') diff --git a/tree.c b/tree.c index 0d984e2d..59faab7e 100644 --- a/tree.c +++ b/tree.c @@ -2375,10 +2375,22 @@ xmlNewTextChild(xmlNodePtr parent, xmlNsPtr ns, /* * Allocate a new node */ - if (ns == NULL) - cur = xmlNewDocRawNode(parent->doc, parent->ns, name, content); - else - cur = xmlNewDocRawNode(parent->doc, ns, name, content); + if (parent->type == XML_ELEMENT_NODE) { + if (ns == NULL) + cur = xmlNewDocRawNode(parent->doc, parent->ns, name, content); + else + cur = xmlNewDocRawNode(parent->doc, ns, name, content); + } else if ((parent->type == XML_DOCUMENT_NODE) || + (parent->type == XML_HTML_DOCUMENT_NODE)) { + if (ns == NULL) + cur = xmlNewDocRawNode((xmlDocPtr) parent, NULL, name, content); + else + cur = xmlNewDocRawNode((xmlDocPtr) parent, ns, name, content); + } else if (parent->type == XML_DOCUMENT_FRAG_NODE) { + cur = xmlNewDocRawNode( parent->doc, ns, name, content); + } else { + return(NULL); + } if (cur == NULL) return(NULL); /* -- cgit v1.2.1