setenv ("TZ", "EST", 1); #define EVENING69 1 * 60 * 60 + 2 * 60 + 29 t = 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 %ld\n", (long) t, EVENING69); result = 1; } else (void) puts ("Dec 31 1969 EST test passed");  setenv ("TZ", "CET", 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"); }
main (void){  struct tm time_str;  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;    }  return result;}