summaryrefslogtreecommitdiff
path: root/libc/misc/time/localtime.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/time/localtime.c')
-rw-r--r--libc/misc/time/localtime.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/libc/misc/time/localtime.c b/libc/misc/time/localtime.c
index cdfd9bde3..22f5035e9 100644
--- a/libc/misc/time/localtime.c
+++ b/libc/misc/time/localtime.c
@@ -2,30 +2,23 @@
#include <time.h>
#include <sys/time.h>
-/* These globals are exported by the C library */
-char *__tzname[2] = { (char *) "GMT", (char *) "GMT" };
-int __daylight = 0;
-long int __timezone = 0L;
-weak_alias (__tzname, tzname);
-weak_alias (__daylight, daylight);
-weak_alias (__timezone, timezone);
+/* Our static data lives in __time_static.c */
+extern struct tm __tmb;
extern void __tm_conv();
-struct tm *localtime(timep)
-__const time_t *timep;
+struct tm *localtime(__const time_t *timep)
{
- static struct tm tmb;
- struct timezone tz;
- time_t offt;
+ struct timezone tz;
+ time_t offt;
- gettimeofday((void *) 0, &tz);
+ gettimeofday((void *) 0, &tz);
- offt = -tz.tz_minuteswest * 60L;
+ offt = -tz.tz_minuteswest * 60L;
- /* tmb.tm_isdst = ? */
- __tm_conv(&tmb, timep, offt);
+ /* tmb.tm_isdst = ? */
+ __tm_conv(&__tmb, timep, offt);
- return &tmb;
+ return &__tmb;
}