summaryrefslogtreecommitdiffstats
path: root/src/id3lib-4-utf16.patch
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2014-08-30 00:58:30 (GMT)
committerTimothy Gu <timothygu99@gmail.com>2014-08-30 00:58:30 (GMT)
commit262aa647f04db4aac22a7301a5b22e0a08c01be6 (patch)
treea286337f657944774706f939a527b76f2fb7fd42 /src/id3lib-4-utf16.patch
parent92a09aeae43765202caf4152a6b4fa8902c1a386 (diff)
parent0e50d664f4efce912ee1a4ee62168c661d6f9199 (diff)
downloadmxe-262aa647f04db4aac22a7301a5b22e0a08c01be6.zip
mxe-262aa647f04db4aac22a7301a5b22e0a08c01be6.tar.gz
mxe-262aa647f04db4aac22a7301a5b22e0a08c01be6.tar.bz2
Merge branch 'stable'
Conflicts: Makefile src/gd.mk src/gdal.mk src/imagemagick.mk src/pcl.mk src/qt.mk
Diffstat (limited to 'src/id3lib-4-utf16.patch')
-rw-r--r--src/id3lib-4-utf16.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/id3lib-4-utf16.patch b/src/id3lib-4-utf16.patch
new file mode 100644
index 0000000..3d3f50f
--- /dev/null
+++ b/src/id3lib-4-utf16.patch
@@ -0,0 +1,38 @@
+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;
+ }