mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-26 00:37:43 +03:00
Use actual doc in xmlTextReaderRead*Xml
Otherwise the encoding of the document is ignored and non-ASCII characters are serialized as numeric references even if the encoding is specified as UTF-8.
This commit is contained in:
@@ -1711,10 +1711,11 @@ xmlTextReaderReadInnerXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
|
|||||||
if (xmlTextReaderExpand(reader) == NULL) {
|
if (xmlTextReaderExpand(reader) == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
doc = reader->doc;
|
doc = reader->node->doc;
|
||||||
buff = xmlBufferCreate();
|
buff = xmlBufferCreate();
|
||||||
for (cur_node = reader->node->children; cur_node != NULL;
|
for (cur_node = reader->node->children; cur_node != NULL;
|
||||||
cur_node = cur_node->next) {
|
cur_node = cur_node->next) {
|
||||||
|
/* XXX: Why is the node copied? */
|
||||||
node = xmlDocCopyNode(cur_node, doc, 1);
|
node = xmlDocCopyNode(cur_node, doc, 1);
|
||||||
buff2 = xmlBufferCreate();
|
buff2 = xmlBufferCreate();
|
||||||
if (xmlNodeDump(buff2, doc, node, 0, 0) == -1) {
|
if (xmlNodeDump(buff2, doc, node, 0, 0) == -1) {
|
||||||
@@ -1755,10 +1756,11 @@ xmlTextReaderReadOuterXml(xmlTextReaderPtr reader ATTRIBUTE_UNUSED)
|
|||||||
xmlDocPtr doc;
|
xmlDocPtr doc;
|
||||||
|
|
||||||
node = reader->node;
|
node = reader->node;
|
||||||
doc = reader->doc;
|
doc = node->doc;
|
||||||
if (xmlTextReaderExpand(reader) == NULL) {
|
if (xmlTextReaderExpand(reader) == NULL) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
/* XXX: Why is the node copied? */
|
||||||
if (node->type == XML_DTD_NODE) {
|
if (node->type == XML_DTD_NODE) {
|
||||||
node = (xmlNodePtr) xmlCopyDtd((xmlDtdPtr) node);
|
node = (xmlNodePtr) xmlCopyDtd((xmlDtdPtr) node);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user