second BeOS patch from Marcin 'Shard' Konicki Daniel
* tree.c nanohttp.c threads.c: second BeOS patch from
Marcin 'Shard' Konicki
Daniel
diff --git a/tree.c b/tree.c
index 0d984e2..59faab7 100644
--- a/tree.c
+++ b/tree.c
@@ -2375,10 +2375,22 @@
/*
* 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);
/*