[taglib] - big endian fixes (#1097109)

Dan Horák sharkcz at fedoraproject.org
Thu May 15 09:33:11 UTC 2014


commit 4384a2f8d7f6f6a6f74b3e6fafc3cde79067ac02
Author: Dan Horák <dan at danny.cz>
Date:   Thu May 15 11:33:02 2014 +0200

    - big endian fixes (#1097109)

 ...ded-some-missing-deletes-to-test_flac.cpp.patch |   48 ++++++++++++++++++++
 ...ng-byte-order-handling-on-big-endian-mach.patch |   33 +++++++++++++
 taglib.spec                                        |   10 ++++-
 3 files changed, 90 insertions(+), 1 deletions(-)
---
diff --git a/0001-Added-some-missing-deletes-to-test_flac.cpp.patch b/0001-Added-some-missing-deletes-to-test_flac.cpp.patch
new file mode 100644
index 0000000..9cdbdcf
--- /dev/null
+++ b/0001-Added-some-missing-deletes-to-test_flac.cpp.patch
@@ -0,0 +1,48 @@
+From c14a3b5c3d0831f7c113d0cf95840c4671d9ebd4 Mon Sep 17 00:00:00 2001
+From: Tsuda Kageyu <tsuda.kageyu at gmail.com>
+Date: Tue, 13 May 2014 20:07:02 +0900
+Subject: [PATCH] Added some missing deletes to test_flac.cpp.
+
+---
+ tests/test_flac.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/tests/test_flac.cpp b/tests/test_flac.cpp
+index caec715..364fb11 100644
+--- a/tests/test_flac.cpp
++++ b/tests/test_flac.cpp
+@@ -91,6 +91,7 @@ public:
+     newpic->setData("JPEG data");
+     f->addPicture(newpic);
+     f->save();
++    delete f;
+ 
+     f = new FLAC::File(newname.c_str());
+     lst = f->pictureList();
+@@ -138,6 +139,7 @@ public:
+     f->removePictures();
+     f->addPicture(newpic);
+     f->save();
++    delete f;
+ 
+     f = new FLAC::File(newname.c_str());
+     lst = f->pictureList();
+@@ -165,6 +167,7 @@ public:
+ 
+     f->removePictures();
+     f->save();
++    delete f;
+ 
+     f = new FLAC::File(newname.c_str());
+     lst = f->pictureList();
+@@ -185,6 +188,7 @@ public:
+     tag->setTitle("NEW TITLE 2");
+     f->save();
+     CPPUNIT_ASSERT_EQUAL(String("NEW TITLE 2"), tag->title());
++    delete f;
+ 
+     f = new FLAC::File(newname.c_str());
+     tag = f->tag();
+-- 
+1.9.0
+
diff --git a/0001-Fixed-a-wrong-byte-order-handling-on-big-endian-mach.patch b/0001-Fixed-a-wrong-byte-order-handling-on-big-endian-mach.patch
new file mode 100644
index 0000000..86d5201
--- /dev/null
+++ b/0001-Fixed-a-wrong-byte-order-handling-on-big-endian-mach.patch
@@ -0,0 +1,33 @@
+From db3e961d1098d5efe57364f540f68a5996dc83c2 Mon Sep 17 00:00:00 2001
+From: Tsuda Kageyu <tsuda.kageyu at gmail.com>
+Date: Tue, 13 May 2014 18:22:16 +0900
+Subject: [PATCH] Fixed a wrong byte order handling on big-endian machines.
+
+---
+ taglib/toolkit/tstring.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp
+index 603455a..1ec083b 100644
+--- a/taglib/toolkit/tstring.cpp
++++ b/taglib/toolkit/tstring.cpp
+@@ -47,10 +47,14 @@
+ 
+ namespace 
+ {
+-
+   inline unsigned short combine(unsigned char c1, unsigned char c2)
+   {
+-    return (c1 << 8) | c2;
++    using namespace TagLib::Utils;
++
++    if(SystemByteOrder == LittleEndian)
++      return (c1 << 8) | c2;
++    else
++      return (c2 << 8) | c1;
+   }
+ 
+   void UTF16toUTF8(const wchar_t *src, size_t srcLength, char *dst, size_t dstLength)
+-- 
+1.9.0
+
diff --git a/taglib.spec b/taglib.spec
index 60a9aef..fd24eaa 100644
--- a/taglib.spec
+++ b/taglib.spec
@@ -6,7 +6,7 @@
 Name:       taglib	
 Summary:    Audio Meta-Data Library
 Version:    1.9.1
-Release:    4%{?dist}
+Release:    5%{?dist}
 
 License:    LGPLv2 or MPLv1.1
 #URL:       http://launchpad.net/taglib
@@ -28,6 +28,9 @@ Patch2:     taglib-1.5rc1-multilib.patch
 ## upstream patches
 Patch1002: 0002-Fixed-ABI-breakage-in-TagLib-String.patch
 Patch1003: 0003-Rewrote-ByteVector-replace-simpler.patch
+# https://github.com/taglib/taglib/issues/384
+Patch1004: 0001-Fixed-a-wrong-byte-order-handling-on-big-endian-mach.patch
+Patch1005: 0001-Added-some-missing-deletes-to-test_flac.cpp.patch
 
 BuildRequires: cmake
 BuildRequires: pkgconfig
@@ -71,6 +74,8 @@ Files needed when building software with %{name}.
 
 %patch1002 -p1 -b .0002
 %patch1003 -p1 -b .0003
+%patch1004 -p1 -b .bigendian
+%patch1005 -p1 -b .delete
 
 
 %build
@@ -135,6 +140,9 @@ make check -C %{_target_platform}
 
 
 %changelog
+* Thu May 15 2014 Dan Horák <dan[at]danny.cz> 1.9.1-5
+- big endian fixes (#1097109)
+
 * Tue May 06 2014 Rex Dieter <rdieter at fedoraproject.org> 1.9.1-4
 - enable tests (#1094759)
 


More information about the scm-commits mailing list