Module: wine Branch: master Commit: 099eda8eadfb9e7ee55aabb4dc5ef9913a929be2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=099eda8eadfb9e7ee55aabb4dc...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Thu Jul 14 12:43:32 2016 +0300
xmllite/writer: Fix formatted output with WriteFullEndElement().
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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);