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().