Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > nonfree-release-src > by-pkgid > 8ccd0f217a684f1a3fd826e024634b35 > files > 14

unace-2.5-5.mga6.nonfree.src.rpm

Author: Guy Martin <gmsoft@gentoo.org>
Description: This patch make the check for endianness actually occur.
Bug-Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=222301
Origin: https://bugs.gentoo.org/attachment.cgi?id=241251

--- unace-nonfree-2.5.orig/source/base/all/all.h
+++ unace-nonfree-2.5/source/base/all/all.h
@@ -61,7 +61,7 @@ memmove((ptr), &__tmp, sizeof(*(ptr)));
 #define put_unaligned(ptr, val) ((void)( *(ptr) = (val) ))
 #endif /* __EMULATE_UNALIGNED__ */
 
-#ifdef __BIG_ENDIAN__
+#if __BYTE_ORDER == __BIG_ENDIAN
 #define ADJUST_ENDIANNESS16(Ptr) {\
   USHORT x = get_unaligned((USHORT*) (Ptr));\
   put_unaligned((USHORT*) (Ptr), x >> 8 | x << 8);\
@@ -78,10 +78,12 @@ memmove((ptr), &__tmp, sizeof(*(ptr)));
   x2 = x2 >> 16 | x2 << 16;\
   put_unaligned(((ULONG*) (Ptr)), (x2&0xff00ff00) >> 8 | (x2&0x00ff00ff) << 8);\
 }
-#else
+#elif __BYTE_ORDER == __LITTLE_ENDIAN
 #define ADJUST_ENDIANNESS16(Ptr) 
 #define ADJUST_ENDIANNESS32(Ptr) 
 #define ADJUST_ENDIANNESS64(Ptr) 
+#else
+#error Please define system endianness
 #endif
 
 #endif