From 5c0777e1ca02ff1767755c417b64d6f78e02f475 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 12 Jan 2017 10:39:19 +0100 Subject: [PATCH] tests: Fix t-gettime for a time_t of 64 and a long of 32 bit. * configure.ac (AC_CHECK_HEADERS): Add stdint.h. * common/t-gettime.c: Include stdint.h. (UINTMAX_C): Define replacement. (test_isotime2epoch): Use UINTMAX_C for the >32 bit constants. -- This is for example the case on 32 bit OpenBSD. Signed-off-by: Werner Koch --- common/t-gettime.c | 17 +++++++++++++---- configure.ac | 2 +- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/common/t-gettime.c b/common/t-gettime.c index 9d9881a23..13cb1a2f7 100644 --- a/common/t-gettime.c +++ b/common/t-gettime.c @@ -20,9 +20,18 @@ #include #include #include +#ifdef HAVE_STDINT_H +# include +#endif #include "util.h" +/* In case we do not have stdint.h and no other version of that + * conversion macro provide shortcut it. */ +#ifndef UINTMAX_C +#define UINTMAX_C (c) (c) +#endif + #define pass() do { ; } while(0) #define fail(a) do { fprintf (stderr, "%s:%d: test %d failed\n",\ __FILE__,__LINE__, (a)); \ @@ -55,10 +64,10 @@ test_isotime2epoch (void) { "20070629T160000\n", 1183132800 }, { "20070629T160000.", INVALID }, #if SIZEOF_TIME_T > 4 - { "21060207T062815", (time_t)0x0ffffffff }, - { "21060207T062816", (time_t)0x100000000 }, - { "21060207T062817", (time_t)0x100000001 }, - { "21060711T120001", (time_t)4308292801 }, + { "21060207T062815", (time_t)UINTMAX_C(0x0ffffffff) }, + { "21060207T062816", (time_t)UINTMAX_C(0x100000000) }, + { "21060207T062817", (time_t)UINTMAX_C(0x100000001) }, + { "21060711T120001", (time_t)UINTMAX_C(4308292801) }, #endif /*SIZEOF_TIME_T > 4*/ { NULL, 0 } }; diff --git a/configure.ac b/configure.ac index fa206c991..f929cb60f 100644 --- a/configure.ac +++ b/configure.ac @@ -1258,7 +1258,7 @@ AC_MSG_NOTICE([checking for header files]) AC_HEADER_STDC AC_CHECK_HEADERS([string.h unistd.h langinfo.h termio.h locale.h getopt.h \ pty.h utmp.h pwd.h inttypes.h signal.h sys/select.h \ - signal.h]) + stdint.h signal.h]) AC_HEADER_TIME