diff options
Diffstat (limited to 'zutil.h')
-rw-r--r-- | zutil.h | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -245,15 +245,18 @@ extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */ | |||
245 | #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) | 245 | #define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr)) |
246 | #define TRY_FREE(s, p) {if (p) ZFREE(s, p);} | 246 | #define TRY_FREE(s, p) {if (p) ZFREE(s, p);} |
247 | 247 | ||
248 | /* Reverse the bytes in a 64-bit or 32-bit or 16-bit value */ | 248 | /* Reverse the bytes in a 32-bit value */ |
249 | #if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64)) | 249 | #ifndef Z_SOLO |
250 | # include <stdlib.h> | 250 | # if defined(_WIN32) && (_MSC_VER >= 1300) && (defined(_M_IX86) || defined(_M_X64)) |
251 | # pragma intrinsic(_byteswap_ulong) | 251 | # include <stdlib.h> |
252 | # define ZSWAP32(q) _byteswap_ulong(q) | 252 | # pragma intrinsic(_byteswap_ulong) |
253 | #elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) | 253 | # define ZSWAP32(q) _byteswap_ulong(q) |
254 | # include <byteswap.h> | 254 | # elif defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) |
255 | # define ZSWAP32(q) __builtin_bswap32(q) | 255 | # include <byteswap.h> |
256 | #else | 256 | # define ZSWAP32(q) __builtin_bswap32(q) |
257 | # endif | ||
258 | #endif | ||
259 | #ifndef ZSWAP32 | ||
257 | # define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \ | 260 | # define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \ |
258 | (((q) & 0xff00) << 8) + (((q) & 0xff) << 24)) | 261 | (((q) & 0xff00) << 8) + (((q) & 0xff) << 24)) |
259 | #endif | 262 | #endif |