From d2c4ee9e488f6c94865cc2f4c874d025bc2ae0d2 Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 24 Nov 2003 00:43:41 +0000 Subject: Tweaks to build properly on Linux. --- src/lib9/date.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/lib9/date.c') diff --git a/src/lib9/date.c b/src/lib9/date.c index 72860aa7..22ec6721 100644 --- a/src/lib9/date.c +++ b/src/lib9/date.c @@ -1,3 +1,5 @@ +#include /* setenv etc. */ + #include #include @@ -72,11 +74,22 @@ p9localtime(long t) return &bigtm; } -#if !defined(_HAVETIMEGM) && defined(_HAVETIMEZONEINT) -static long +#if !defined(_HAVETIMEGM) +static time_t timegm(struct tm *tm) { - return mktime(tm)-timezone; + time_t ret; + char *tz; + + tz = getenv("TZ"); + setenv("TZ", "", 1); + tzset(); + ret = mktime(tm); + if(tz) + setenv("TZ", tz, 1); + else + unsetenv("TZ"); + return ret; } #endif -- cgit v1.2.3