Blame SOURCES/libxml2-2.9.12-fix-formatting-regression.patch

8bf870
From 13ad8736d294536da4cbcd70a96b0a2fbf47070c Mon Sep 17 00:00:00 2001
8bf870
From: Nick Wellnhofer <wellnhofer@aevum.de>
8bf870
Date: Tue, 25 May 2021 10:55:25 +0200
8bf870
Subject: [PATCH] Fix regression in xmlNodeDumpOutputInternal
8bf870
8bf870
Commit 85b1792e could cause additional whitespace if xmlNodeDump was
8bf870
called with a non-zero starting level.
8bf870
---
8bf870
 xmlsave.c | 14 +++++++-------
8bf870
 1 file changed, 7 insertions(+), 7 deletions(-)
8bf870
8bf870
diff --git a/xmlsave.c b/xmlsave.c
8bf870
index aedbd5e7..489505f4 100644
8bf870
--- a/xmlsave.c
8bf870
+++ b/xmlsave.c
8bf870
@@ -890,6 +890,13 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
8bf870
             break;
8bf870
 
8bf870
         case XML_ELEMENT_NODE:
8bf870
+	    if ((cur != root) && (ctxt->format == 1) &&
8bf870
+                (xmlIndentTreeOutput))
8bf870
+		xmlOutputBufferWrite(buf, ctxt->indent_size *
8bf870
+				     (ctxt->level > ctxt->indent_nr ?
8bf870
+				      ctxt->indent_nr : ctxt->level),
8bf870
+				     ctxt->indent);
8bf870
+
8bf870
             /*
8bf870
              * Some users like lxml are known to pass nodes with a corrupted
8bf870
              * tree structure. Fall back to a recursive call to handle this
8bf870
@@ -900,13 +907,6 @@ xmlNodeDumpOutputInternal(xmlSaveCtxtPtr ctxt, xmlNodePtr cur) {
8bf870
                 break;
8bf870
             }
8bf870
 
8bf870
-	    if ((ctxt->level > 0) && (ctxt->format == 1) &&
8bf870
-                (xmlIndentTreeOutput))
8bf870
-		xmlOutputBufferWrite(buf, ctxt->indent_size *
8bf870
-				     (ctxt->level > ctxt->indent_nr ?
8bf870
-				      ctxt->indent_nr : ctxt->level),
8bf870
-				     ctxt->indent);
8bf870
-
8bf870
             xmlOutputBufferWrite(buf, 1, "<");
8bf870
             if ((cur->ns != NULL) && (cur->ns->prefix != NULL)) {
8bf870
                 xmlOutputBufferWriteString(buf, (const char *)cur->ns->prefix);
8bf870
-- 
8bf870
GitLab
8bf870