diff options
Diffstat (limited to 'libical/src/libical/icaltime.c')
-rw-r--r-- | libical/src/libical/icaltime.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libical/src/libical/icaltime.c b/libical/src/libical/icaltime.c index f43602a721..3a762a73f9 100644 --- a/libical/src/libical/icaltime.c +++ b/libical/src/libical/icaltime.c @@ -284,7 +284,9 @@ struct icaltimetype icaltime_as_zone(struct icaltimetype tt,const char* tzid) indicating the date for which you want the offset */ time_t icaltime_utc_offset(struct icaltimetype tt, const char* tzid) { +#ifdef HAVE_TIMEZONE extern long int timezone; +#endif time_t now; struct tm *stm; @@ -315,7 +317,11 @@ time_t icaltime_utc_offset(struct icaltimetype tt, const char* tzid) putenv("TZ"); /* Delete from environment */ } +#ifdef HAVE_TIMEZONE return timezone; +#else + return -stm->tm_gmtoff; +#endif } time_t icaltime_local_utc_offset() @@ -325,8 +331,11 @@ time_t icaltime_local_utc_offset() stm = localtime(&now); /* This sets 'timezone'*/ +#ifdef HAVE_TIMEZONE return timezone; - +#else + return -stm->tm_gmtoff; +#endif } |