aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog6
-rw-r--r--calendar/cal-util/icalendar.c15
-rw-r--r--calendar/pcs/icalendar.c15
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*