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

