aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/cal-util/icalendar.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@src.gnome.org>2000-04-12 07:40:38 +0800
committerChris Toshok <toshok@src.gnome.org>2000-04-12 07:40:38 +0800
commitd9d1fb83aa965e979c026b83ef912ea6ccc9556a (patch)
tree5f4e3c16a3b48cbb16cf2aa542a35273ac8c8300 /calendar/cal-util/icalendar.c
parent8a75c79c81141e7330c824f7441732d7fc158f54 (diff)
downloadgsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.tar
gsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.tar.gz
gsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.tar.bz2
gsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.tar.lz
gsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.tar.xz
gsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.tar.zst
gsoc2013-evolution-d9d1fb83aa965e979c026b83ef912ea6ccc9556a.zip
use HAVE_TIMEZONE to switch between linux's timezone variable and *bsd's
* 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. svn path=/trunk/; revision=2399
Diffstat (limited to 'calendar/cal-util/icalendar.c')
-rw-r--r--calendar/cal-util/icalendar.c15
1 files changed, 13 insertions, 2 deletions
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*