--- id3lib-3.8.3/src/io_helpers.cpp.orig 2005-07-12 22:01:55.162296576 +0100 +++ id3lib-3.8.3/src/io_helpers.cpp 2005-07-12 22:04:28.142641367 +0100 @@ -363,9 +363,10 @@ // Write the BOM: 0xFEFF unicode_t BOM = 0xFEFF; writer.writeChars((const unsigned char*) &BOM, 2); + unsigned char *pdata = (unsigned char *) data.c_str(); for (size_t i = 0; i < size; i += 2) { - unicode_t ch = (data[i] << 8) | data[i+1]; + unicode_t ch = (pdata[i] << 8) | pdata[i+1]; writer.writeChars((const unsigned char*) &ch, 2); } }