John E. Malmberg wrote: > Default: > > EAGLE> run time_t_test > gmtime max 4294967295 > gmtime min 0 > localtime max 4294967295 > localtime min 0 > > EAGLE> CC time_t_test.c/define=__SIGNED_INT_TIME_T > EAGLE> link time_t_test > EAGLE> run time_t_test > gmtime max 2147483647 > gmtime min 0 > localtime max 2147483647 > localtime min 0
Thanks, that looks all correct. If you could try the latest version of the code that would be great. It makes it more accurate for systems which have silly failure points, like Y10K. http://code.google.com/p/y2038/source/browse/trunk/bin/check_max.c > VMS keeps time internally as a 64 bit signed integer all platforms, > usually in local time. The base time is November 17, 1958 What do localtime() and gmtime() think time_t = 0 is? #include <time.h> #include <stdio.h> int main(void) { struct tm *date; time_t time = 0; date = gmtime(&time); printf("# %04d.%02d.%02d %02d:%02d:%02d\n", date->tm_year + 1900, date->tm_mon + 1, date->tm_mday, date->tm_hour, date->tm_min, date->tm_sec ); return 0; } PS Does anyone know of a system with a floating point time_t and if so, please try check_max.c on it and let me know. -- 125. Two drink limit does not mean two kinds of drinks. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/