Explorar el Código

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 hace 11 años
padre
commit
bd5ed22c58
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  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;