diff -Naur gawk-3.1.6.orig/configure gawk-3.1.6/configure --- gawk-3.1.6.orig/configure 2007-10-22 08:52:03.000000000 +0200 +++ gawk-3.1.6/configure 2008-10-23 20:40:58.000000000 +0200 @@ -10518,6 +10518,7 @@ # endif #endif +#include #include #ifdef HAVE_UNISTD_H @@ -10666,12 +10667,15 @@ isn't worth using anyway. */ alarm (60); - for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) - continue; - time_t_max--; - if ((time_t) -1 < 0) - for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2) - continue; + for (;;) + { + t = (time_t_max << 1) + 1; + if (t <= time_t_max) + break; + time_t_max = t; + } + time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max; + delta = time_t_max / 997; /* a suitable prime number */ for (i = 0; i < N_STRINGS; i++) { @@ -10686,10 +10690,12 @@ && mktime_test ((time_t) (60 * 60 * 24)))) return 1; - for (j = 1; 0 < j; j *= 2) + for (j = 1; ; j <<= 1) if (! bigtime_test (j)) return 1; - if (! bigtime_test (j - 1)) + else if (INT_MAX / 2 < j) + break; + if (! bigtime_test (INT_MAX)) return 1; } return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ()); .