Index: timezone/pgtz.c
===================================================================
RCS file: /projects/cvsroot/pgsql-server/src/timezone/pgtz.c,v
retrieving revision 1.19
diff -c -r1.19 pgtz.c
*** timezone/pgtz.c	22 Jul 2004 05:28:30 -0000	1.19
--- timezone/pgtz.c	29 Jul 2004 18:12:51 -0000
***************
*** 182,187 ****
--- 182,197 ----
  		if (!pgtm)
  			return -1;		/* probably shouldn't happen */
  		systm = localtime(&(tt->test_times[i]));
+ 		if (!systm)
+ 		{
+ 			elog(DEBUG4, "TZ \"%s\" scores %d: at %ld %04d-%02d-%02d %02d:%02d:%02d %s, system had no data",
+ 				 tzname, i, (long) pgtt,
+ 				 pgtm->tm_year + 1900, pgtm->tm_mon + 1, pgtm->tm_mday,
+ 				 pgtm->tm_hour, pgtm->tm_min, pgtm->tm_sec,
+ 				 pgtm->tm_isdst ? "dst" : "std");
+ 			return i;
+ 		}
+
  		if (!compare_tm(systm, pgtm))
  		{
  			elog(DEBUG4, "TZ \"%s\" scores %d: at %ld %04d-%02d-%02d %02d:%02d:%02d %s versus %04d-%02d-%02d %02d:%02d:%02d %s",
***************
*** 302,307 ****
--- 312,319 ----
  	for (t = tnow; t <= tnow + T_MONTH * 14; t += T_MONTH)
  	{
  		tm = localtime(&t);
+ 		if (!tm)
+ 			continue;
  		if (tm->tm_isdst < 0)
  			continue;
  		if (tm->tm_isdst == 0 && std_zone_name[0] == '\0')
