Nikolay Sivov (@nsivov) commented about dlls/xmllite/writer.c:
return E_NOTIMPL;
}
+static HRESULT write_raw_char(xmlwriteroutput *output, LPCWSTR *context) +{
- const WCHAR *data = *context;
- if (!is_char(*data)) return WC_E_XMLCHARACTER;
- if (is_high_surrogate(*data))
- {
if (!*(data + 1) || !is_low_surrogate(*(data + 1)))
return WR_E_INVALIDSURROGATEPAIR;
write_output_buffer(output, data, 2);
- (*context)++;
This increment has to be moved to one place - either this helper advances the pointer always, or it's advanced by the caller.