[PATCH 3/3] xmllite/writer: Fix formatted output with WriteFullEndElement()
Nikolay Sivov
nsivov at codeweavers.com
Thu Jul 14 04:43:32 CDT 2016
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
dlls/xmllite/writer.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/xmllite/writer.c b/dlls/xmllite/writer.c
index 699095b..bcc0e85 100644
--- a/dlls/xmllite/writer.c
+++ b/dlls/xmllite/writer.c
@@ -414,7 +414,6 @@ static HRESULT writer_close_starttag(xmlwriter *writer)
if (!writer->starttagopen) return S_OK;
hr = write_output_buffer(writer->output, gtW, ARRAY_SIZE(gtW));
writer->starttagopen = FALSE;
- writer->state = XmlWriterState_Content;
return hr;
}
@@ -958,6 +957,12 @@ static HRESULT WINAPI xmlwriter_WriteFullEndElement(IXmlWriter *iface)
writer_close_starttag(This);
writer_dec_indent(This);
+ /* don't force full end tag to the next line */
+ if (This->state == XmlWriterState_ElemStarted)
+ This->state = XmlWriterState_Content;
+ else
+ write_node_indent(This);
+
/* write full end tag */
write_output_buffer(This->output, closeelementW, ARRAY_SIZE(closeelementW));
write_output_buffer(This->output, element->qname, element->len);
--
2.8.1
More information about the wine-patches
mailing list