From 4b366ceed572fc4ce706c133ddb79f30f909c805 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sat, 24 Jun 1995 20:53:17 +0000 Subject: [PATCH] [uint32]: When testing for 32-bit arithmetic type, also check `unsigned long', as a concession to systems with int's smaller than 32 bits. --- src/md5sum.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/md5sum.c b/src/md5sum.c index 1efb2b1c7f..b72e2d646b 100644 --- a/src/md5sum.c +++ b/src/md5sum.c @@ -110,15 +110,19 @@ # define UINT_MAX UINT_MAX_32_BITS #endif -#if UINT_MAX == UINT_MAX_32_BITS -typedef unsigned int uint32; +#if ULONG_MAX == UINT_MAX_32_BITS + typedef unsigned long uint32; #else -# if USHRT_MAX == UINT_MAX_32_BITS -typedef unsigned short uint32; +# if UINT_MAX == UINT_MAX_32_BITS + typedef unsigned int uint32; # else - /* The following line is intended to throw an error. Using #error is - not portable enough. */ - "Cannot determine unsigned 32-bit data type." +# if USHRT_MAX == UINT_MAX_32_BITS + typedef unsigned short uint32; +# else + /* The following line is intended to throw an error. Using #error is + not portable enough. */ + "Cannot determine unsigned 32-bit data type." +# endif # endif #endif -- 2.47.3