- big endian fixes (#1097109)

This commit is contained in:
Dan Horák 2014-05-15 11:33:02 +02:00
parent 6592673083
commit 4384a2f8d7
3 changed files with 90 additions and 1 deletions

View File

@ -0,0 +1,48 @@
From c14a3b5c3d0831f7c113d0cf95840c4671d9ebd4 Mon Sep 17 00:00:00 2001
From: Tsuda Kageyu <tsuda.kageyu@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

View File

@ -0,0 +1,33 @@
From db3e961d1098d5efe57364f540f68a5996dc83c2 Mon Sep 17 00:00:00 2001
From: Tsuda Kageyu <tsuda.kageyu@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

View File

@ -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@fedoraproject.org> 1.9.1-4
- enable tests (#1094759)