On 06/19/2011 09:32 PM, Thomas Mullaly wrote:
+static inline void reset_output_buffer(mxwriter *This, LPCSTR encoding)
+{
+    xmlOutputBufferClose(This->buffer);
+
+    if (encoding)
+        This->buffer = 
xmlAllocOutputBuffer(xmlFindCharEncodingHandler(encoding));
+    else if (!This->dest)
+        This->buffer = 
xmlAllocOutputBuffer(xmlFindCharEncodingHandler("UTF-16"));
+    else {
+        LPSTR enc = heap_strdupWtoA(This->encoding);
+        This->buffer = xmlAllocOutputBuffer(xmlFindCharEncodingHandler(enc));
+        heap_free(enc);
+    }
+
+    This->dest_written = 0;
+}

Libxml2 has the various encodings enum'd out as xmlCharEncoding; better to pass the enum around and avoid the string comparison. Then you can use xmlGetCharEncodingHandler() instead of xmlFindCharEncodingHandler().



Reply via email to