From 947f470f2b37289013d9b86d9aa6f6f52006672b Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 10 Dec 2024 18:55:32 +0100 Subject: [PATCH] change xmlwriter with output buffer --- src/xml.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/xml.c b/src/xml.c index 585aab8..8896fe7 100644 --- a/src/xml.c +++ b/src/xml.c @@ -72,7 +72,9 @@ void initTimeAcount() xmlChar* xmlElemName = NULL; xmlChar* xmlElemContent = NULL; - xmlTextWriterPtr xmlWriter = xmlNewTextWriterFilename("/dev/stdout", 0); + xmlCharEncodingHandlerPtr encodingHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_UTF8); + xmlOutputBufferPtr xmloutbuffer = xmlOutputBufferCreateFd(1, encodingHandler); + xmlTextWriterPtr xmlWriter = xmlNewTextWriter(xmloutbuffer); xmlTextWriterSetIndent(xmlWriter, 8); xmlElemContent = xmlCharStrdup("\t"); xmlTextWriterSetIndentString(xmlWriter, xmlElemContent); @@ -281,7 +283,9 @@ void createEntry(int begin_hour, xmlChar* xmlElemName = NULL; xmlChar* xmlElemContent = NULL; - xmlTextWriterPtr xmlWriter = xmlNewTextWriterFilename("/dev/stdout", 0); + xmlCharEncodingHandlerPtr encodingHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_UTF8); + xmlOutputBufferPtr xmloutbuffer = xmlOutputBufferCreateFd(1, encodingHandler); + xmlTextWriterPtr xmlWriter = xmlNewTextWriter(xmloutbuffer); xmlTextWriterSetIndent(xmlWriter, 8); xmlElemContent = xmlCharStrdup("\t"); xmlTextWriterSetIndentString(xmlWriter, xmlElemContent); @@ -402,7 +406,9 @@ void addEntry(const char* date, readLastSaldo(fileContent, saldostr); xmlChar* xmlElemContent = NULL; - xmlTextWriterPtr xmlwriter = xmlNewTextWriterFilename("/dev/stdout", 0); + xmlCharEncodingHandlerPtr encodingHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_UTF8); + xmlOutputBufferPtr xmloutbuffer = xmlOutputBufferCreateFd(1, encodingHandler); + xmlTextWriterPtr xmlwriter = xmlNewTextWriter(xmloutbuffer); xmlTextWriterSetIndent(xmlwriter, 8); xmlElemContent = xmlCharStrdup("\t"); xmlTextWriterSetIndentString(xmlwriter, xmlElemContent); @@ -487,7 +493,9 @@ void merge(const char* dir) } xmlChar* xmlElemContent = NULL; - xmlTextWriterPtr xmlwriter = xmlNewTextWriterFilename("/dev/stdout", 0); + xmlCharEncodingHandlerPtr encodingHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_UTF8); + xmlOutputBufferPtr xmloutbuffer = xmlOutputBufferCreateFd(1, encodingHandler); + xmlTextWriterPtr xmlwriter = xmlNewTextWriter(xmloutbuffer); xmlTextWriterSetIndent(xmlwriter, 8); xmlElemContent = xmlCharStrdup("\t"); xmlTextWriterSetIndentString(xmlwriter, xmlElemContent); -- 2.39.5