mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-30 13:02:27 +01:00
http://id3lib.sourceforge.net library for reading, writing, and manipulating ID3v1 and ID3v2 tags
39 lines
1.2 KiB
Diff
39 lines
1.2 KiB
Diff
Patch from 'Spoon' to fix issues with writing certain unicode characters
|
|
--- a/ChangeLog
|
|
+++ b/ChangeLog
|
|
@@ -1,3 +1,8 @@
|
|
+2006-02-17 Jerome Couderc
|
|
+
|
|
+ * Patch from Spoon to fix UTF-16 writing bug
|
|
+ http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
|
|
+
|
|
2003-03-02 Sunday 17:38 Thijmen Klok <thijmen@id3lib.org>
|
|
|
|
* THANKS (1.20): added more people
|
|
--- a/src/io_helpers.cpp
|
|
+++ b/src/io_helpers.cpp
|
|
@@ -363,11 +363,22 @@
|
|
// Write the BOM: 0xFEFF
|
|
unicode_t BOM = 0xFEFF;
|
|
writer.writeChars((const unsigned char*) &BOM, 2);
|
|
+ // Patch from Spoon : 2004-08-25 14:17
|
|
+ // http://sourceforge.net/tracker/index.php?func=detail&aid=1016290&group_id=979&atid=300979
|
|
+ // Wrong code
|
|
+ //for (size_t i = 0; i < size; i += 2)
|
|
+ //{
|
|
+ // unicode_t ch = (data[i] << 8) | data[i+1];
|
|
+ // writer.writeChars((const unsigned char*) &ch, 2);
|
|
+ //}
|
|
+ // Right code
|
|
+ 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);
|
|
}
|
|
+ // End patch
|
|
}
|
|
return writer.getCur() - beg;
|
|
}
|