]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Don't use built-in byte swaps if compiled solo.
authorMark Adler <madler@alumni.caltech.edu>
Mon, 13 Feb 2012 03:28:06 +0000 (19:28 -0800)
committerMark Adler <madler@alumni.caltech.edu>
Mon, 13 Feb 2012 03:28:06 +0000 (19:28 -0800)
zutil.h

diff --git a/zutil.h b/zutil.h
index 69d83ed721568dc8199b1616dac7ee40b90df6b5..5fcd4e63f94c670d78f2a5a24f1d00a41485bfe8 100644 (file)
--- a/zutil.h
+++ b/zutil.h
@@ -245,15 +245,18 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
 #define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
 #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
 
-/* Reverse the bytes in a 64-bit or 32-bit or 16-bit value */
-#if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64))
-#  include <stdlib.h>
-#  pragma intrinsic(_byteswap_ulong)
-#  define ZSWAP32(q) _byteswap_ulong(q)
-#elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
-#  include <byteswap.h>
-#  define ZSWAP32(q) __builtin_bswap32(q)
-#else
+/* Reverse the bytes in a 32-bit value */
+#ifndef Z_SOLO
+#  if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64))
+#    include <stdlib.h>
+#    pragma intrinsic(_byteswap_ulong)
+#    define ZSWAP32(q) _byteswap_ulong(q)
+#  elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
+#    include <byteswap.h>
+#    define ZSWAP32(q) __builtin_bswap32(q)
+#  endif
+#endif
+#ifndef ZSWAP32
 #  define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
                       (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
 #endif