From 4b7668c12a014b731213c5f20cebce91df25e977 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 28 Jul 2004 20:09:09 +0000 Subject: [PATCH] Include if HAVE_STDINT_H || _LIBC, not ifdef _LIBC. (md5_uint32): Use uint32_t if available. Simplify fallback ifdefs. --- lib/md5.h | 39 ++++++++++++++++----------------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/lib/md5.h b/lib/md5.h index 2b33607..7cc0c6f 100644 --- a/lib/md5.h +++ b/lib/md5.h @@ -1,6 +1,9 @@ /* md5.h - Declaration of functions and data types used for MD5 sum computing library functions. - Copyright (C) 1995, 1996, 1999, 2000, 2003 Free Software Foundation, Inc. + + Copyright (C) 1995, 1996, 1999, 2000, 2003, 2004 Free Software + Foundation, Inc. + NOTE: The canonical source of this file is maintained with the GNU C Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu. @@ -25,37 +28,27 @@ #include /* The following contortions are an attempt to use the C preprocessor - to determine an unsigned integral type that is 32 bits wide. An - alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but - doing that would require that the configure script compile and *run* - the resulting executable. Locally running cross-compiled executables - is usually not possible. */ + to determine an unsigned integral type that is exactly 32 bits wide. */ -#ifdef _LIBC +#if HAVE_STDINT_H || _LIBC # include +#endif + +#ifdef UINT32_MAX typedef uint32_t md5_uint32; -typedef uintptr_t md5_uintptr; #else # define UINT_MAX_32_BITS 4294967295U - # if UINT_MAX == UINT_MAX_32_BITS typedef unsigned int md5_uint32; +# elif USHRT_MAX == UINT_MAX_32_BITS + typedef unsigned short int md5_uint32; +# elif ULONG_MAX == UINT_MAX_32_BITS + typedef unsigned long md5_uint32; # else -# if USHRT_MAX == UINT_MAX_32_BITS - typedef unsigned short md5_uint32; -# else -# if ULONG_MAX == UINT_MAX_32_BITS - typedef unsigned long md5_uint32; -# else - /* The following line is intended to evoke an error. - Using #error is not portable enough. */ - "Cannot determine unsigned 32-bit data type." -# endif -# endif + /* The following line is intended to evoke an error. + Using #error is not portable enough. */ + "Cannot determine unsigned 32-bit data type." # endif -/* We have to make a guess about the integer type equivalent in size - to pointers which should always be correct. */ -typedef unsigned long int md5_uintptr; #endif /* Structure to save state of computation between the single steps. */ -- 2.7.4