diff --git a/sysincl.h b/sysincl.h index 9bc5fe3..2ecccb7 100644 --- a/sysincl.h +++ b/sysincl.h @@ -62,10 +62,10 @@ #include #include -#if HAS_STDINT_H -#include -#elif defined(HAS_INTTYPES_H) +#ifdef HAS_INTTYPES_H #include +#elif HAS_STDINT_H +#include #else /* Tough */ #endif diff --git a/util.c b/util.c index e0039e8..35bc12b 100644 --- a/util.c +++ b/util.c @@ -210,9 +210,13 @@ UTI_TimevalToString(struct timeval *tv) char *result; result = NEXT_BUFFER; - /* TODO: time_t may be wider than long, switch to int64_t before 2038 */ +#ifdef HAVE_LONG_TIME_T + snprintf(result, BUFFER_LENGTH, "%"PRId64".%06lu", + (int64_t)tv->tv_sec, (unsigned long)tv->tv_usec); +#else snprintf(result, BUFFER_LENGTH, "%ld.%06lu", (long)tv->tv_sec, (unsigned long)tv->tv_usec); +#endif return result; }