mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-21 14:53:44 +03:00
xmlTextConcat works with comments and PI nodes (bug #355962). fix
* tree.c: xmlTextConcat works with comments and PI nodes (bug #355962). * parser.c: fix resulting tree corruption when using XML namespace with existing doc in xmlParseBalancedChunkMemoryRecover.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
Sat Sep 16 16:02:23 CEST 2006 Rob Richards <rrichards@ctindustries.net>
|
||||||
|
|
||||||
|
* tree.c: xmlTextConcat works with comments and PI nodes (bug #355962).
|
||||||
|
* parser.c: fix resulting tree corruption when using XML namespace
|
||||||
|
with existing doc in xmlParseBalancedChunkMemoryRecover.
|
||||||
|
|
||||||
Fri Sep 1 11:52:55 CEST 2006 Daniel Veillard <daniel@veillard.com>
|
Fri Sep 1 11:52:55 CEST 2006 Daniel Veillard <daniel@veillard.com>
|
||||||
|
|
||||||
* xmlIO.c: another patch from Emelyanov Alexey to clean up a few things
|
* xmlIO.c: another patch from Emelyanov Alexey to clean up a few things
|
||||||
|
4
parser.c
4
parser.c
@@ -11903,6 +11903,9 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
|
|||||||
} else {
|
} else {
|
||||||
ctxt->myDoc = newDoc;
|
ctxt->myDoc = newDoc;
|
||||||
newDoc->children->doc = doc;
|
newDoc->children->doc = doc;
|
||||||
|
/* Ensure that doc has XML spec namespace */
|
||||||
|
xmlSearchNsByHref(doc, (xmlNodePtr)doc, XML_XML_NAMESPACE);
|
||||||
|
newDoc->oldNs = doc->oldNs;
|
||||||
}
|
}
|
||||||
ctxt->instate = XML_PARSER_CONTENT;
|
ctxt->instate = XML_PARSER_CONTENT;
|
||||||
ctxt->depth = depth;
|
ctxt->depth = depth;
|
||||||
@@ -11963,6 +11966,7 @@ xmlParseBalancedChunkMemoryRecover(xmlDocPtr doc, xmlSAXHandlerPtr sax,
|
|||||||
xmlFreeParserCtxt(ctxt);
|
xmlFreeParserCtxt(ctxt);
|
||||||
newDoc->intSubset = NULL;
|
newDoc->intSubset = NULL;
|
||||||
newDoc->extSubset = NULL;
|
newDoc->extSubset = NULL;
|
||||||
|
newDoc->oldNs = NULL;
|
||||||
xmlFreeDoc(newDoc);
|
xmlFreeDoc(newDoc);
|
||||||
|
|
||||||
return(ret);
|
return(ret);
|
||||||
|
4
tree.c
4
tree.c
@@ -6529,7 +6529,9 @@ xmlTextConcat(xmlNodePtr node, const xmlChar *content, int len) {
|
|||||||
if (node == NULL) return(-1);
|
if (node == NULL) return(-1);
|
||||||
|
|
||||||
if ((node->type != XML_TEXT_NODE) &&
|
if ((node->type != XML_TEXT_NODE) &&
|
||||||
(node->type != XML_CDATA_SECTION_NODE)) {
|
(node->type != XML_CDATA_SECTION_NODE) &&
|
||||||
|
(node->type != XML_COMMENT_NODE) &&
|
||||||
|
(node->type != XML_PI_NODE)) {
|
||||||
#ifdef DEBUG_TREE
|
#ifdef DEBUG_TREE
|
||||||
xmlGenericError(xmlGenericErrorContext,
|
xmlGenericError(xmlGenericErrorContext,
|
||||||
"xmlTextConcat: node is not text nor CDATA\n");
|
"xmlTextConcat: node is not text nor CDATA\n");
|
||||||
|
Reference in New Issue
Block a user