diff options
author | Ulrich Drepper <drepper@redhat.com> | 1998-05-14 19:14:48 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1998-05-14 19:14:48 +0000 |
commit | ff152e3fc8c7d38e08d9f9d70eb6109c878e1372 (patch) | |
tree | 7fc3fb83b20673816f3f2082ac79558028f02b25 /time/tzset.c | |
parent | 847a35a07b6412a24f8978cf2a7fafc4e5c4a471 (diff) | |
download | glibc-ff152e3fc8c7d38e08d9f9d70eb6109c878e1372.zip glibc-ff152e3fc8c7d38e08d9f9d70eb6109c878e1372.tar.gz glibc-ff152e3fc8c7d38e08d9f9d70eb6109c878e1372.tar.bz2 |
Update.
1998-05-14 13:25 Ulrich Drepper <drepper@cygnus.com>
* inet/netinet/in.h: Add defines for multicast.
Reported by Jeremy Hall <jhall@UU.NET>.
* stdlib/stdlib.h: Add prototypes for __setenv and __unsetenv.
* sysdeps/generic/putenv.c: Use __setenv and __unsetenv, not setenv
and unsetenv. Optimize _LIBC case.
* sysdeps/generic/setenv.c: Prevent unnecessary memory leaks.
Define functions with leading __.
* time/tzfile.c: Correct handling of global variables daylight,
timezone, and tzname.
* time/tzset.c: Likewise.
* timezone/Makefile (tests): Add tst-timezone.
* timezone/tst-timezone.c: New file.
1998-05-14 10:35 Ulrich Drepper <drepper@cygnus.com>
* timezone/asia: Update from tzdata1998d.
* timezone/australasia: Likewise.
* timezone/europe: Likewise.
Diffstat (limited to 'time/tzset.c')
-rw-r--r-- | time/tzset.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/time/tzset.c b/time/tzset.c index e766796..e42be39 100644 --- a/time/tzset.c +++ b/time/tzset.c @@ -333,6 +333,7 @@ tzset_internal (always) { /* There is no DST. */ tz_rules[1].name = tz_rules[0].name; + tz_rules[1].offset = tz_rules[0].offset; free (tzbuf); return; } @@ -547,8 +548,8 @@ tz_compute (timer, tm) ! compute_change (&tz_rules[1], 1900 + tm->tm_year)) return 0; - __daylight = timer >= tz_rules[0].change && timer < tz_rules[1].change; - __timezone = -tz_rules[__daylight].offset; + __daylight = tz_rules[0].offset != tz_rules[1].offset; + __timezone = -tz_rules[0].offset; __tzname[0] = (char *) tz_rules[0].name; __tzname[1] = (char *) tz_rules[1].name; @@ -626,9 +627,10 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp) { if (use_localtime) { - tp->tm_isdst = __daylight; - tp->tm_zone = __tzname[__daylight]; - tp->tm_gmtoff = -__timezone; + tp->tm_isdst = (*timer >= tz_rules[0].change + && *timer < tz_rules[1].change); + tp->tm_zone = __tzname[tp->tm_isdst]; + tp->tm_gmtoff = tz_rules[tp->tm_isdst].offset; } else { |