summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/id3lib-UTF16-writing-bug.patch
diff options
context:
space:
mode:
authorPierre Langlois <pierre.langlois@gmx.com>2019-10-12 22:29:18 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2019-10-13 13:07:44 +0200
commitb5f6700fb454edad46e84cc46edb3654e42b5172 (patch)
treebe3197a03207d41f98c92ef17494c317f0196407 /gnu/packages/patches/id3lib-UTF16-writing-bug.patch
parentbd321df37abb4a2d32c7223ffafd8fa46cc64114 (diff)
downloadguix-patches-b5f6700fb454edad46e84cc46edb3654e42b5172.tar
guix-patches-b5f6700fb454edad46e84cc46edb3654e42b5172.tar.gz
gnu: id3lib: Apply patch for UTF16 writing bug.
* gnu/packages/patches/id3lib-UTF16-writing-bug.patch: New file. * gnu/packages/mp3.scm (id3lib)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
Diffstat (limited to 'gnu/packages/patches/id3lib-UTF16-writing-bug.patch')
-rw-r--r--gnu/packages/patches/id3lib-UTF16-writing-bug.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/gnu/packages/patches/id3lib-UTF16-writing-bug.patch b/gnu/packages/patches/id3lib-UTF16-writing-bug.patch
new file mode 100644
index 0000000000..4a8f69b321
--- /dev/null
+++ b/gnu/packages/patches/id3lib-UTF16-writing-bug.patch
@@ -0,0 +1,39 @@
+diff -ruN id3lib-3.8.3.orig/ChangeLog id3lib-3.8.3/ChangeLog
+--- id3lib-3.8.3.orig/ChangeLog 2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/ChangeLog 2006-02-22 00:33:59.946214472 +0100
+@@ -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
+diff -ruN id3lib-3.8.3.orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
+--- id3lib-3.8.3.orig/src/io_helpers.cpp 2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/src/io_helpers.cpp 2006-02-22 00:35:02.926639992 +0100
+@@ -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;
+ }