diff --git a/pack.c b/pack.c index 70db20f992..aca562eef1 100644 --- a/pack.c +++ b/pack.c @@ -36,6 +36,19 @@ static const char natstr[] = "sSiIlL"; #endif static const char endstr[] = "sSiIlLqQ"; +#ifdef NATINT_PACK +# define NATINT_LEN(type,len) (natint?(int)sizeof(type):(int)(len)) +#else +# define NATINT_LEN(type,len) ((int)sizeof(type)) +#endif + +#ifdef HAVE_TRUE_LONG_LONG +/* It is intentional to use long long instead of LONG_LONG. */ +# define NATINT_LEN_Q NATINT_LEN(long long, 8) +#else +# define NATINT_LEN_Q 8 +#endif + #if SIZEOF_SHORT != 2 || SIZEOF_LONG != 4 || (defined(HAVE_TRUE_LONG_LONG) && SIZEOF_LONG_LONG != 8) # define NATINT_PACK #endif @@ -62,18 +75,6 @@ static const char endstr[] = "sSiIlLqQ"; # define BIGENDIAN_P() 0 #endif -#ifdef NATINT_PACK -# define NATINT_LEN(type,len) (natint?(int)sizeof(type):(int)(len)) -#else -# define NATINT_LEN(type,len) ((int)sizeof(type)) -#endif - -#ifdef HAVE_TRUE_LONG_LONG -# define NATINT_LEN_Q NATINT_LEN(long long, 8) -#else -# define NATINT_LEN_Q 8 -#endif - #if SIZEOF_LONG == 8 # define INT64toNUM(x) LONG2NUM(x) # define UINT64toNUM(x) ULONG2NUM(x)