| Don't depend on a consumer of <packer.h> to be using autoconf, and to be |
| checking for for the presence of <inttypes.h> and <stdint.h>, and including |
| its own "config.h" before including <packer.h>, in order for this to be |
| correct on 64-bit machines. |
| |
| diff -up cracklib-2.8.15/configure.in cracklib-2.8.15/configure.in |
| |
| |
| @@ -26,6 +26,19 @@ AC_CHECK_HEADERS(zlib.h, AC_DEFINE(HAVE_ |
| |
| AC_SEARCH_LIBS(gzopen, z) |
| |
| +if test x$ac_cv_header_inttypes_h = xyes ; then |
| + CRACKLIB_INTEGER_TYPES1="#include <inttypes.h>" |
| + CRACKLIB_INTEGER_TYPES2= |
| +elif test x$ac_cv_header_stdint_h = xyes ; then |
| + CRACKLIB_INTEGER_TYPES1="#include <stdint.h>" |
| + CRACKLIB_INTEGER_TYPES2= |
| +else |
| + CRACKLIB_INTEGER_TYPES1="typedef unsigned int uint32_t;" |
| + CRACKLIB_INTEGER_TYPES2="typedef unsigned short uint16_t;" |
| +fi |
| +AC_SUBST(CRACKLIB_INTEGER_TYPES1) |
| +AC_SUBST(CRACKLIB_INTEGER_TYPES2) |
| + |
| dnl Cygwin workaround |
| AC_MSG_CHECKING(if LINE_MAX is defined) |
| AC_EGREP_CPP(yes, |
| @@ -92,5 +105,6 @@ AC_SUBST(CROSS_COMPILING, $cross_compili |
| |
| AC_OUTPUT(util/Makefile lib/Makefile doc/Makefile python/Makefile Makefile \ |
| python/setup.py \ |
| + lib/packer.h \ |
| po/Makefile.in m4/Makefile dicts/Makefile cracklib.spec) |
| |
| diff -up cracklib-2.8.15/lib/packer.h.in cracklib-2.8.15/lib/packer.h.in |
| |
| |
| @@ -30,17 +30,8 @@ |
| #define _(String) (String) |
| #endif |
| |
| -#if defined(HAVE_INTTYPES_H) |
| -#include <inttypes.h> |
| -#else |
| -#if defined(HAVE_STDINT_H) |
| -#include <stdint.h> |
| -#else |
| -typedef unsigned int uint32_t; |
| -typedef unsigned short uint16_t; |
| -#endif |
| -#endif |
| - |
| +@CRACKLIB_INTEGER_TYPES1@ |
| +@CRACKLIB_INTEGER_TYPES2@ |
| |
| struct pi_header |
| { |
| @@ -83,6 +74,9 @@ typedef struct { |
| int dummy; |
| } PWDICT; |
| |
| +@CRACKLIB_INTEGER_TYPES1@ |
| +@CRACKLIB_INTEGER_TYPES2@ |
| + |
| #endif |
| |
| extern PWDICT *PWOpen(const char *prefix, char *mode); |