summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-11-24 22:36:57 +0000
committerSergei Trofimovich <slyfox@gentoo.org>2017-11-24 22:36:57 +0000
commit641bb0c29f2ef6f7b2b900d56ef04f96d912263f (patch)
treefffbf46efcdd454fee56e3f5732da80709e7b368 /media-libs/lcms/files
parentapp-text/tesseract: stable 3.05.01 for ppc/ppc64, bug #638672 (diff)
downloadgentoo-641bb0c29f2ef6f7b2b900d56ef04f96d912263f.tar.gz
gentoo-641bb0c29f2ef6f7b2b900d56ef04f96d912263f.tar.bz2
gentoo-641bb0c29f2ef6f7b2b900d56ef04f96d912263f.zip
media-libs/lcms: fix multilocalized profiles, bug #638192
Reported-by: Rolf Eike Beer Closes: https://bugs.gentoo.org/638192 Package-Manager: Portage-2.3.16, Repoman-2.3.6
Diffstat (limited to 'media-libs/lcms/files')
-rw-r--r--media-libs/lcms/files/lcms-2.9-BE-test.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/media-libs/lcms/files/lcms-2.9-BE-test.patch b/media-libs/lcms/files/lcms-2.9-BE-test.patch
new file mode 100644
index 00000000000..577c77cc2b8
--- /dev/null
+++ b/media-libs/lcms/files/lcms-2.9-BE-test.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/638192
+
+From 8aca404f486429e2304bd6572c2a6fb89e43cf2d Mon Sep 17 00:00:00 2001
+From: Marti Maria <info@littlecms.com>
+Date: Mon, 20 Nov 2017 21:59:38 +0100
+Subject: [PATCH] fix for big endian MLU bug
+
+Thanks to Sergei Trofimovic for the fix
+---
+ AUTHORS | 1 +
+ src/cmsnamed.c | 20 ++++++--------------
+ 2 files changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/src/cmsnamed.c b/src/cmsnamed.c
+index 95dc18b..773e4d2 100644
+--- a/src/cmsnamed.c
++++ b/src/cmsnamed.c
+@@ -183,27 +183,19 @@ cmsBool AddMLUBlock(cmsMLU* mlu, cmsUInt32Number size, const wchar_t *Block,
+
+ static
+ cmsUInt16Number strTo16(const char str[3])
+-{
++{
+ const cmsUInt8Number* ptr8 = (const cmsUInt8Number*)str;
+- cmsUInt16Number n = (cmsUInt16Number) (((cmsUInt16Number) ptr8[1] << 8) | ptr8[0]);
++ cmsUInt16Number n = (cmsUInt16Number)(((cmsUInt16Number)ptr8[0] << 8) | ptr8[1]);
+
+- return _cmsAdjustEndianess16(n);
++ return n;
+ }
+
+ static
+ void strFrom16(char str[3], cmsUInt16Number n)
+ {
+- // Assuming this would be aligned
+- union {
+-
+- cmsUInt16Number n;
+- cmsUInt8Number str[2];
+-
+- } c;
+-
+- c.n = _cmsAdjustEndianess16(n);
+-
+- str[0] = (char) c.str[0]; str[1] = (char) c.str[1]; str[2] = (char) 0;
++ str[0] = (char)(n >> 8);
++ str[1] = (char)n;
++ str[2] = (char)0;
+
+ }
+
+--
+2.15.0
+