Przeglądaj źródła

fix mishandling of empty or blank TZ environment variable

the empty TZ string was matching equal to the initial value of the
cached TZ name, thus causing do_tzset never to run and never to
initialize the time zone data.
Rich Felker 11 lat temu
rodzic
commit
bd5ed22c58
1 zmienionych plików z 1 dodań i 1 usunięć
  1. 1 1
      src/time/__tz.c

+ 1 - 1
src/time/__tz.c

@@ -127,7 +127,7 @@ static void do_tzset()
 		"/usr/share/zoneinfo/\0/share/zoneinfo/\0/etc/zoneinfo/\0";
 
 	s = getenv("TZ");
-	if (!s) s = "";
+	if (!s || !*s) s = "GMT0";
 
 	if (old_tz && !strcmp(s, old_tz)) return;