int main(void) { check_date_max(gmtime, "gmtime"); check_date_max(localtime, "localtime"); check_date_min(gmtime, "gmtime"); check_date_min(localtime, "localtime"); return 0; }
int main(void) { time_t gmtime_max; time_t gmtime_min; time_t localtime_max; time_t localtime_min; #ifdef HAS_TIMEGM struct tm* timegm_max; struct tm* timegm_min; #endif struct tm* mktime_max; struct tm* mktime_min; guess_time_limits_from_types(); gmtime_max = check_date_max(gmtime, "gmtime"); gmtime_min = check_date_min(gmtime, "gmtime"); localtime_max = check_date_max(localtime, "localtime"); localtime_min = check_date_min(localtime, "localtime"); #ifdef HAS_TIMEGM Time_Max = gmtime_max; Time_Min = gmtime_min; timegm_max = check_to_time_max(timegm, "timegm", gmtime); timegm_min = check_to_time_min(timegm, "timegm", gmtime); #endif Time_Max = localtime_max; Time_Min = localtime_min; mktime_max = check_to_time_max(mktime, "mktime", localtime); mktime_min = check_to_time_min(mktime, "mktime", localtime); printf("# system time.h limits, as JSON\n"); printf("{\n"); printf(" \"gmtime\": { \"max\": %.0f, \"min\": %0.f },\n", my_difftime(gmtime_max, Time_Zero), my_difftime(gmtime_min, Time_Zero) ); printf(" \"localtime\": { \"max\": %.0f, \"min\": %0.f },\n", my_difftime(localtime_max, Time_Zero), my_difftime(localtime_min, Time_Zero) ); printf(" \"mktime\": {\n"); printf(" \"max\": { %s },\n", tm_as_json(mktime_max)); printf(" \"min\": { %s }\n", tm_as_json(mktime_min)); printf(" }\n"); #ifdef HAS_TIMEGM printf(" ,\n"); printf(" \"timegm\": {\n"); printf(" \"max\": { %s },\n", tm_as_json(timegm_max)); printf(" \"min\": { %s }\n", tm_as_json(timegm_min)); printf(" }\n"); #endif printf("}\n"); return 0; }