aboutsummaryrefslogtreecommitdiff
path: root/time/localtime.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-01-06 22:07:28 +0000
committerUlrich Drepper <drepper@redhat.com>1997-01-06 22:07:28 +0000
commitdf4ef2ab9c0899b2670067cd97e58f7eb2913e00 (patch)
tree4cb343b5ba9ccdc9c0b96144412567b6a4eda0ee /time/localtime.c
parent6f9e7002f38ae778b3ff2f586a3e5766382228e9 (diff)
downloadglibc-df4ef2ab9c0899b2670067cd97e58f7eb2913e00.zip
glibc-df4ef2ab9c0899b2670067cd97e58f7eb2913e00.tar.gz
glibc-df4ef2ab9c0899b2670067cd97e58f7eb2913e00.tar.bz2
update from main archive 960105cvs/libc-970107cvs/libc-970106
Diffstat (limited to 'time/localtime.c')
-rw-r--r--time/localtime.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/time/localtime.c b/time/localtime.c
index f228776..ab8fc1a 100644
--- a/time/localtime.c
+++ b/time/localtime.c
@@ -1,5 +1,5 @@
/* Convert `time_t' to `struct tm' in local time zone.
- Copyright (C) 1991, 92, 93, 95, 96 Free Software Foundation, Inc.
+ Copyright (C) 1991, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +25,7 @@
struct tm _tmbuf;
/* Prototype for the internal function to get information based on TZ. */
-extern void __tzset_internal __P ((void));
+extern void __tzset_internal __P ((int always));
extern int __tz_compute __P ((time_t timer, struct tm *tp));
extern int __tzfile_compute __P ((time_t timer,
long int *leap_correct, int *leap_hit));
@@ -90,8 +90,8 @@ localtime (timer)
__libc_lock_lock (__tzset_lock);
- /* Make sure the database is initialized. */
- __tzset_internal ();
+ /* Update internal database according to current TZ setting. */
+ __tzset_internal (1);
result = localtime_internal (timer, &_tmbuf);
@@ -110,6 +110,9 @@ __localtime_r (timer, tp)
__libc_lock_lock (__tzset_lock);
+ /* Make sure the database is initialized. */
+ __tzset_internal (0);
+
result = localtime_internal (timer, tp);
__libc_lock_unlock (__tzset_lock);