mirror of
https://github.com/GNOME/libxml2.git
synced 2025-05-09 13:21:24 +08:00
Fix regression in xmlNodeDumpOutputInternal
Commit 85b1792e could cause additional whitespace if xmlNodeDump was called with a non-zero starting level.
This commit is contained in:
parent
a46e85f669
commit
13ad8736d2
14
xmlsave.c
14
xmlsave.c
@ -890,6 +890,13 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case XML_ELEMENT_NODE:
|
case XML_ELEMENT_NODE:
|
||||||
|
if ((cur != root) && (ctxt->format == 1) &&
|
||||||
|
(xmlIndentTreeOutput))
|
||||||
|
xmlOutputBufferWrite(buf, ctxt->indent_size *
|
||||||
|
(ctxt->level > ctxt->indent_nr ?
|
||||||
|
ctxt->indent_nr : ctxt->level),
|
||||||
|
ctxt->indent);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some users like lxml are known to pass nodes with a corrupted
|
* Some users like lxml are known to pass nodes with a corrupted
|
||||||
* tree structure. Fall back to a recursive call to handle this
|
* tree structure. Fall back to a recursive call to handle this
|
||||||
@ -900,13 +907,6 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ctxt->level > 0) && (ctxt->format == 1) &&
|
|
||||||
(xmlIndentTreeOutput))
|
|
||||||
xmlOutputBufferWrite(buf, ctxt->indent_size *
|
|
||||||
(ctxt->level > ctxt->indent_nr ?
|
|
||||||
ctxt->indent_nr : ctxt->level),
|
|
||||||
ctxt->indent);
|
|
||||||
|
|
||||||
xmlOutputBufferWrite(buf, 1, "<");
|
xmlOutputBufferWrite(buf, 1, "<");
|
||||||
if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
|
if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
|
||||||
xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
|
xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user