diff --git a/src/lib/evil/evil_time.c b/src/lib/evil/evil_time.c index 6964654217..1c06ecb250 100644 --- a/src/lib/evil/evil_time.c +++ b/src/lib/evil/evil_time.c @@ -310,7 +310,11 @@ strptime(const char *buf, const char *fmt, struct tm *tm) continue; #ifndef TIME_MAX -# define TIME_MAX INT64_MAX +# if INTPTR_MAX == 0xffffffffffffffff +# define TIME_MAX INT64_MAX +# else +# define TIME_MAX INT32_MAX +# endif #endif case 's': /* seconds since the epoch */ { @@ -331,7 +335,7 @@ strptime(const char *buf, const char *fmt, struct tm *tm) } while ((sse * 10 <= TIME_MAX) && rulim && *bp >= '0' && *bp <= '9'); - if (sse < 0 || (__int64)sse > TIME_MAX) + if (sse < 0 || sse > TIME_MAX) { bp = NULL; continue;