#include <stdlib.h>#include <stdio.h>#include <string.h>#include <time.h>intmain (void){struct tm time_str, *tm;time_t t;char daybuf[20];int result;time_str.tm_year = 2001 - 1900;time_str.tm_mon = 7 - 1;time_str.tm_mday = 4;time_str.tm_hour = 0;time_str.tm_min = 0;time_str.tm_sec = 1;time_str.tm_isdst = -1;if (mktime (&time_str) == -1){(void) puts ("-unknown-");result = 1;}else{(void) strftime (daybuf, sizeof (daybuf), "%A", &time_str);(void) puts (daybuf);result = strcmp (daybuf, "Wednesday") != 0;}setenv ("TZ", "EST+5", 1);#define EVENING69 1 * 60 * 60 + 2 * 60 + 29t = EVENING69;tm = localtime (&t);if (tm == NULL){(void) puts ("localtime returned NULL");result = 1;}else{time_str = *tm;t = mktime (&time_str);if (t != EVENING69){printf ("mktime returned %ld, expected %d\n",(long) t, EVENING69);result = 1;}else(void) puts ("Dec 31 1969 EST test passed");setenv ("TZ", "CET-1", 1);t = mktime (&time_str);if (t != (time_t) -1){printf ("mktime returned %ld, expected -1\n", (long) t);result = 1;}else(void) puts ("Dec 31 1969 CET test passed");}return result;}