Sun Jun 16 00:40:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>

* time/Makefile ($(installed-localtime-file)): If target exists, do
	nothing but print a message; if not, make it an absolute symlink.

	* time/tzset.c (__tzset): After stripping leading :, call
	__tzfile_read on TZ even if it's empty or null.
	* time/tzfile.c (__tzfile_read): Use "Universal" if passed "".
This commit is contained in:
Roland McGrath 1996-06-16 04:52:54 +00:00
parent 5fbef18864
commit a3b5844025
4 changed files with 48 additions and 38 deletions

View File

@ -1,3 +1,12 @@
Sun Jun 16 00:40:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* time/Makefile ($(installed-localtime-file)): If target exists, do
nothing but print a message; if not, make it an absolute symlink.
* time/tzset.c (__tzset): After stripping leading :, call
__tzfile_read on TZ even if it's empty or null.
* time/tzfile.c (__tzfile_read): Use "Universal" if passed "".
Sat Jun 15 18:13:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> Sat Jun 15 18:13:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* hurd/Makefile (routines): Add get-host, set-host. * hurd/Makefile (routines): Add get-host, set-host.

View File

@ -119,7 +119,8 @@ target-zone-flavor = $(filter /posix /right, \
ifdef localtime ifdef localtime
$(installed-localtime-file): $(zonedir)/$(localtime) $(objpfx)zic $(installed-localtime-file): $(zonedir)/$(localtime) $(objpfx)zic
$(zic-cmd) -l $(localtime) if test -r $@; then echo Site timezone NOT reset to Factory.; else \
ln -s -f $< $@; fi
endif endif
ifdef posixrules ifdef posixrules
$(installed-posixrules-file): $(zonedir)/$(posixrules) $(objpfx)zic $(installed-posixrules-file): $(zonedir)/$(posixrules) $(objpfx)zic

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1993, 1995 Free Software Foundation, Inc. /* Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -103,8 +103,12 @@ DEFUN(__tzfile_read, (file), CONST char *file)
free((PTR) leaps); free((PTR) leaps);
leaps = NULL; leaps = NULL;
if (file == NULL || *file == '\0') if (file == NULL)
/* No user specification; use the site-wide default. */
file = TZDEFAULT; file = TZDEFAULT;
else if (*file == '\0')
/* User specified the empty string; use UTC explicitly. */
file = "Universal";
if (*file != '/') if (*file != '/')
{ {

View File

@ -99,28 +99,25 @@ DEFUN_VOID(__tzset)
/* Examine the TZ environment variable. */ /* Examine the TZ environment variable. */
tz = getenv ("TZ"); tz = getenv ("TZ");
if (tz != NULL)
{
/* A leading colon means "implementation defined syntax". /* A leading colon means "implementation defined syntax".
We ignore the colon and always use the same algorithm: We ignore the colon and always use the same algorithm:
try a data file, and if none exists parse the 1003.1 syntax. */ try a data file, and if none exists parse the 1003.1 syntax. */
if (*tz == ':') if (tz && *tz == ':')
++tz; ++tz;
/* Try to read a data file. */
__tzfile_read (tz); __tzfile_read (tz);
if (__use_tzfile) if (__use_tzfile)
{ {
__tzset_run = 1; __tzset_run = 1;
return; return;
} }
}
/* No data file found. Default to UTC if nothing specified. */
if (tz == NULL || *tz == '\0') if (tz == NULL || *tz == '\0')
{ {
__tzfile_read((char *) NULL); static const char UTC[] = "UTC";
if (!__use_tzfile)
{
const char UTC[] = "UTC";
size_t len = sizeof UTC; size_t len = sizeof UTC;
tz_rules[0].name = (char *) malloc(len); tz_rules[0].name = (char *) malloc(len);
if (tz_rules[0].name == NULL) if (tz_rules[0].name == NULL)
@ -137,7 +134,6 @@ DEFUN_VOID(__tzset)
tz_rules[0].offset = tz_rules[1].offset = 0L; tz_rules[0].offset = tz_rules[1].offset = 0L;
tz_rules[0].change = tz_rules[1].change = (time_t) -1; tz_rules[0].change = tz_rules[1].change = (time_t) -1;
tz_rules[0].computed_for = tz_rules[1].computed_for = 0; tz_rules[0].computed_for = tz_rules[1].computed_for = 0;
}
__tzset_run = 1; __tzset_run = 1;
return; return;
} }