]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Proceed to look for the next timezone when matching a localized
authorMagnus Hagander <magnus@hagander.net>
Thu, 8 Apr 2010 11:26:00 +0000 (11:26 +0000)
committerMagnus Hagander <magnus@hagander.net>
Thu, 8 Apr 2010 11:26:00 +0000 (11:26 +0000)
Windows timezone name where the information in the registry is
incomplete, instead of aborting.

This fixes cases when the registry information is incomplete for
a timezone that is alphabetically before the one that is in use.

Per report from Alexander Forschner

src/timezone/pgtz.c

index 7fddb3bcc6ae8f088e633d199748fc0743b6402e..180c325dc69fdc63813843bfce9b6b1cf0220781 100644 (file)
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.48.2.3 2010/04/06 20:35:13 mha Exp $
+ *       $PostgreSQL: pgsql/src/timezone/pgtz.c,v 1.48.2.4 2010/04/08 11:26:00 mha Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1076,7 +1076,7 @@ identify_system_timezone(void)
                                        (errmsg_internal("could not query value for 'std' to identify Windows timezone \"%s\": %i",
                                                                         keyname, (int) r)));
                        RegCloseKey(key);
-                       break;
+                       continue; /* Proceed to look at the next timezone */
                }
                if (strcmp(tzname, zonename) == 0)
                {
@@ -1093,7 +1093,7 @@ identify_system_timezone(void)
                                        (errmsg_internal("could not query value for 'dlt' to identify Windows timezone \"%s\": %i",
                                                                         keyname, (int) r)));
                        RegCloseKey(key);
-                       break;
+                       continue; /* Proceed to look at the next timezone */
                }
                if (strcmp(tzname, zonename) == 0)
                {