From 1eae5e8cbcad26415fe229885244316387bc15d9 Mon Sep 17 00:00:00 2001 From: Laurence Rowe Date: Thu, 16 Jun 2011 18:44:06 +0100 Subject: Output should not include extraneous newlines when indent is off Hence matching behaviour of xmlSaveOption XML_SAVE_FORMAT off. This affects only one of the regression tests --- libxslt/xsltutils.c | 7 ++++--- tests/docs/bug-173.xml | 1 + tests/general/Makefile.am | 1 + tests/general/bug-173.out | 1 + tests/general/bug-173.xsl | 11 +++++++++++ tests/keys/month.out | 2 +- 6 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 tests/docs/bug-173.xml create mode 100644 tests/general/bug-173.out create mode 100644 tests/general/bug-173.xsl diff --git a/libxslt/xsltutils.c b/libxslt/xsltutils.c index 4ee124c7..bc942668 100644 --- a/libxslt/xsltutils.c +++ b/libxslt/xsltutils.c @@ -1587,13 +1587,14 @@ xsltSaveResultTo(xmlOutputBufferPtr buf, xmlDocPtr result, while (child != NULL) { xmlNodeDumpOutput(buf, result, child, 0, (indent == 1), (const char *) encoding); - if ((child->type == XML_DTD_NODE) || + if (indent && ((child->type == XML_DTD_NODE) || ((child->type == XML_COMMENT_NODE) && - (child->next != NULL))) + (child->next != NULL)))) xmlOutputBufferWriteString(buf, "\n"); child = child->next; } - xmlOutputBufferWriteString(buf, "\n"); + if (indent) + xmlOutputBufferWriteString(buf, "\n"); } xmlOutputBufferFlush(buf); } diff --git a/tests/docs/bug-173.xml b/tests/docs/bug-173.xml new file mode 100644 index 00000000..f3f286ea --- /dev/null +++ b/tests/docs/bug-173.xml @@ -0,0 +1 @@ + diff --git a/tests/general/Makefile.am b/tests/general/Makefile.am index b6c738bd..f7fdea9c 100644 --- a/tests/general/Makefile.am +++ b/tests/general/Makefile.am @@ -180,6 +180,7 @@ EXTRA_DIST = \ bug-170.out bug-170.xsl \ bug-171.out bug-171.xsl \ bug-172.out bug-172.xsl \ + bug-173.out bug-173.xsl \ character.out character.xsl \ character2.out character2.xsl \ itemschoose.out itemschoose.xsl \ diff --git a/tests/general/bug-173.out b/tests/general/bug-173.out new file mode 100644 index 00000000..d39c5bcb --- /dev/null +++ b/tests/general/bug-173.out @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tests/general/bug-173.xsl b/tests/general/bug-173.xsl new file mode 100644 index 00000000..deb89e88 --- /dev/null +++ b/tests/general/bug-173.xsl @@ -0,0 +1,11 @@ + + + + + + + Comment + + + + \ No newline at end of file diff --git a/tests/keys/month.out b/tests/keys/month.out index 99c3a3d5..088c1c7b 100644 --- a/tests/keys/month.out +++ b/tests/keys/month.out @@ -4,4 +4,4 @@ December December - + \ No newline at end of file -- cgit v1.2.3