diff options
-rw-r--r-- | configure.ac | 12 | ||||
-rw-r--r-- | defines.h | 6 | ||||
-rw-r--r-- | misc.c | 2 |
3 files changed, 18 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 83719193..e728e323 100644 --- a/configure.ac +++ b/configure.ac @@ -3664,7 +3664,7 @@ if test ! -z "$SONY" ; then LIBS="$LIBS -liberty"; fi -# Check for long long datatypes +# Check for long long datatypes AC_CHECK_TYPES([long long, unsigned long long, long double]) # Check datatype sizes @@ -3672,6 +3672,16 @@ AC_CHECK_SIZEOF([short int]) AC_CHECK_SIZEOF([int]) AC_CHECK_SIZEOF([long int]) AC_CHECK_SIZEOF([long long int]) +AC_CHECK_SIZEOF([time_t], [], [[ + #include <sys/types.h> + #ifdef HAVE_SYS_TIME_H + # include <sys/time.h> + #endif + #ifdef HAVE_TIME_H + # include <time.h> + #endif + ]] +) # Sanity check long long for some platforms (AIX) if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then @@ -304,6 +304,12 @@ typedef long long intmax_t; typedef unsigned long long uintmax_t; #endif +#if SIZEOF_TIME_T == SIZEOF_LONG_LONG_INT +# define SSH_TIME_T_MAX LLONG_MAX +#else +# define SSH_TIME_T_MAX INT_MAX +#endif + #ifndef HAVE_U_CHAR typedef unsigned char u_char; # define HAVE_U_CHAR @@ -2384,7 +2384,7 @@ parse_absolute_time(const char *s, uint64_t *tp) } /* On OpenBSD time_t is int64_t which is long long. */ -#define SSH_TIME_T_MAX LLONG_MAX +/* #define SSH_TIME_T_MAX LLONG_MAX */ void format_absolute_time(uint64_t t, char *buf, size_t len) |