diff options
-rw-r--r-- | calendar/ChangeLog | 6 | ||||
-rw-r--r-- | calendar/cal-util/icalendar.c | 15 | ||||
-rw-r--r-- | calendar/pcs/icalendar.c | 15 |
3 files changed, 32 insertions, 4 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 6a9100d801..7013db0400 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,9 @@ +2000-04-11 Chris Toshok <toshok@helixcode.com> + + * pcs/icalendar.c (icaltime_to_timet): use HAVE_TIMEZONE to switch + between linux's timezone variable and *bsd's method of getting the + gmt offset. + 2000-04-10 Seth Alves <alves@hungry.com> * pcs/cal-backend.c (save_to_vcal): create and save an actual diff --git a/calendar/cal-util/icalendar.c b/calendar/cal-util/icalendar.c index 0a0f39c636..1dcbadc817 100644 --- a/calendar/cal-util/icalendar.c +++ b/calendar/cal-util/icalendar.c @@ -365,7 +365,6 @@ this may not be correct */ static time_t icaltime_to_timet (struct icaltimetype* i) { - extern long timezone; struct tm t; time_t ret; @@ -384,7 +383,19 @@ static time_t icaltime_to_timet (struct icaltimetype* i) ret = mktime(&t); - return ret - (i->is_utc ? timezone : 0); + if (i->is_utc) { +#ifdef HAVE_TIMEZONE + extern long timezone; + ret -= timezone; +#else + struct tm *tmp; + time_t tod = time(NULL); + tmp = localtime (&tod); + ret += tmp->tm_gmtoff; +#endif + } + + return ret; } static iCalPerson* diff --git a/calendar/pcs/icalendar.c b/calendar/pcs/icalendar.c index 0a0f39c636..1dcbadc817 100644 --- a/calendar/pcs/icalendar.c +++ b/calendar/pcs/icalendar.c @@ -365,7 +365,6 @@ this may not be correct */ static time_t icaltime_to_timet (struct icaltimetype* i) { - extern long timezone; struct tm t; time_t ret; @@ -384,7 +383,19 @@ static time_t icaltime_to_timet (struct icaltimetype* i) ret = mktime(&t); - return ret - (i->is_utc ? timezone : 0); + if (i->is_utc) { +#ifdef HAVE_TIMEZONE + extern long timezone; + ret -= timezone; +#else + struct tm *tmp; + time_t tod = time(NULL); + tmp = localtime (&tod); + ret += tmp->tm_gmtoff; +#endif + } + + return ret; } static iCalPerson* |