Better endianness detection (helps for MacOS X)
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Thu, 17 May 2007 15:37:20 +0000 (15:37 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Thu, 17 May 2007 15:37:20 +0000 (15:37 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@12960 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/misc.h
src/wav_io.h

index 86287ad..1664aae 100644 (file)
@@ -78,7 +78,7 @@ void print_vec(float *vec, int len, char *name);
 /** Convert little endian */
 static inline spx_int32_t le_int(spx_int32_t i)
 {
-#ifdef WORDS_BIGENDIAN
+#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) )
    spx_uint32_t ui, ret;
    ui = i;
    ret =  ui>>24;
index ab04e1b..0755763 100644 (file)
@@ -35,7 +35,7 @@
 #include <stdio.h>
 #include "speex/speex_types.h"
 
-#ifdef WORDS_BIGENDIAN
+#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) )
 #define le_short(s) ((short) ((unsigned short) (s) << 8) | ((unsigned short) (s) >> 8))
 #define be_short(s) ((short) (s))
 #else
@@ -46,7 +46,7 @@
 /** Convert little endian */
 static inline spx_int32_t le_int(spx_int32_t i)
 {
-#ifdef WORDS_BIGENDIAN
+#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) )
    spx_uint32_t ui, ret;
    ui = i;
    ret =  ui>>24;