diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2004-07-28 20:09:09 +0000 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2004-07-28 20:09:09 +0000 |
commit | 4b7668c12a014b731213c5f20cebce91df25e977 (patch) | |
tree | 8a3e260ba684693485873839550b91935e7228dc /lib | |
parent | 7c6ecf213aeb1d02b48742869229fffd358163d9 (diff) | |
download | coreutils-4b7668c12a014b731213c5f20cebce91df25e977.tar.xz |
Include <stdint.h> if HAVE_STDINT_H || _LIBC, not
ifdef _LIBC.
(md5_uint32): Use uint32_t if available. Simplify fallback ifdefs.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/md5.h | 39 |
1 files changed, 16 insertions, 23 deletions
@@ -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 <limits.h> /* 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 <stdint.h> +#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. */ |