Nikolay Sivov (@nsivov) commented about dlls/xmllite/writer.c:
string++; break; case '&': write_output_buffer(writer->output, L"&", 5);string++; break; case '>': write_output_buffer(writer->output, L">", 4);string++; break; default:
write_output_buffer(writer->output, string, 1);
{HRESULT hr = write_raw_char(writer->output, &string);if (FAILED(hr)) return hr;}
Doing error checks now, we can consolidate it, and use return values from write_output_buffer() calls as well.