int i;
size_t i;
main (void){  int errors = 0;  int i;  struct tm *tm;  for (i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i)    {      setenv ("TZ", tests[i].tz, 1);            tm = getdate (tests[i].str);      if (getdate_err != tests[i].err)	{	  printf ("Failure for getdate (\"%s\"):\n", tests[i].str);	  printf ("getdate_err should be %d but returned: %d which means:\n",		  tests[i].err, getdate_err);	  report_date_error (getdate_err);	  ++errors;	}      else if (tests[i].tm.tm_mon != tm->tm_mon	       || tests[i].tm.tm_year != tm->tm_year	       || tests[i].tm.tm_mday != tm->tm_mday	       || tests[i].tm.tm_hour != tm->tm_hour	       || tests[i].tm.tm_min != tm->tm_min	       || tests[i].tm.tm_sec != tm->tm_sec)	{	  printf ("Failure for getdate (\"%s\"):\n", tests[i].str);	  printf ("struct tm is:  %d-%d-%d %d:%d:%d\n",		  tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,		  tm->tm_hour, tm->tm_min, tm->tm_sec);	  printf ("but should be: %d-%d-%d %d:%d:%d\n",		  tests[i].tm.tm_year + 1900, tests[i].tm.tm_mon + 1,		  tests[i].tm.tm_mday,		  tests[i].tm.tm_hour, tests[i].tm.tm_min, tests[i].tm.tm_sec);	  ++errors;	}    }  if (!errors)    printf ("No errors found.\n");  return errors != 0;}