From 79c3e2f505f985dba6755b2a1d6b8ca8299bdc6b Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Fri, 18 Sep 2009 11:05:29 -0400 Subject: [PATCH] pack: Use a user-configurable macro to select 64 bit packing. --- src/pack.c | 15 ++++++--------- src/pack.h | 15 +++++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/pack.c b/src/pack.c index 4490701..1128a19 100644 --- a/src/pack.c +++ b/src/pack.c @@ -8,9 +8,6 @@ * without any warranty. */ -#include -#include - #include "pack.h" /* Unsigned integer packing. */ @@ -36,13 +33,13 @@ DEFPACK_BE(16, unsigned short) DEFPACK_BE(32, unsigned long) -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT DEFPACK_BE(64, unsigned long long) #endif DEFPACK_LE(16, unsigned short) DEFPACK_LE(32, unsigned long) -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT DEFPACK_LE(64, unsigned long long) #endif @@ -72,13 +69,13 @@ DEFPACK_LE(64, unsigned long long) DEFUNPACK_BE(16, unsigned short) DEFUNPACK_BE(32, unsigned long) -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT DEFUNPACK_BE(64, unsigned long long) #endif DEFUNPACK_LE(16, unsigned short) DEFUNPACK_LE(32, unsigned long) -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT DEFUNPACK_LE(64, unsigned long long) #endif @@ -115,12 +112,12 @@ DEFUNPACK_LE(64, unsigned long long) DEFUNPACK_SBE(16, 32767, short) DEFUNPACK_SBE(32, 2147483647l, long) -#ifdef LLONG_MAX +#if PACK_HAVE_64BIT DEFUNPACK_SBE(64, 9223372036854775807ll, long long) #endif DEFUNPACK_SLE(16, 32767, short) DEFUNPACK_SLE(32, 2147483647l, long) -#ifdef LLONG_MAX +#if PACK_HAVE_64BIT DEFUNPACK_SLE(64, 9223372036854775807ll, long long) #endif diff --git a/src/pack.h b/src/pack.h index 8413fdb..d47ddc4 100644 --- a/src/pack.h +++ b/src/pack.h @@ -12,40 +12,43 @@ #define PACK_H_ #include +#if !defined(PACK_HAVE_64BIT) && defined(ULLONG_MAX) && defined(LLONG_MAX) +# define PACK_HAVE_64BIT 1 +#endif void pack_16_be(unsigned char *, unsigned short); void pack_32_be(unsigned char *, unsigned long); -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT void pack_64_be(unsigned char *, unsigned long long); #endif void pack_16_le(unsigned char *, unsigned short); void pack_32_le(unsigned char *, unsigned long); -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT void pack_64_le(unsigned char *, unsigned long long); #endif unsigned short unpack_16_be(const unsigned char *); unsigned long unpack_32_be(const unsigned char *); -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT unsigned long long unpack_64_be(const unsigned char *); #endif unsigned short unpack_16_le(const unsigned char *); unsigned long unpack_32_le(const unsigned char *); -#ifdef ULLONG_MAX +#if PACK_HAVE_64BIT unsigned long long unpack_64_le(const unsigned char *); #endif short unpack_s16_be(const unsigned char *); long unpack_s32_be(const unsigned char *); -#ifdef LLONG_MAX +#if PACK_HAVE_64BIT long long unpack_s64_be(const unsigned char *); #endif short unpack_s16_le(const unsigned char *); long unpack_s32_le(const unsigned char *); -#ifdef LLONG_MAX +#if PACK_HAVE_64BIT long long unpack_s64_le(const unsigned char *); #endif -- 2.43.0