This patch fixes tag corruption after pipe characters. Author: Urs Fleisch Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680915 --- a/src/io_helpers.cpp +++ b/src/io_helpers.cpp @@ -373,10 +373,17 @@ //} // Right code unsigned char *pdata = (unsigned char *) data.c_str(); + unicode_t lastCh = BOM; for (size_t i = 0; i < size; i += 2) { unicode_t ch = (pdata[i] << 8) | pdata[i+1]; + if (lastCh == 0 && ch != BOM) + { + // Last character was NULL, so start next string with BOM. + writer.writeChars((const unsigned char*) &BOM, 2); + } writer.writeChars((const unsigned char*) &ch, 2); + lastCh = ch; } // End patch }