aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-mime-message.c
diff options
context:
space:
mode:
Diffstat (limited to 'camel/camel-mime-message.c')
-rw-r--r--camel/camel-mime-message.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/camel/camel-mime-message.c b/camel/camel-mime-message.c
index 0b21d98a57..7f7a35466d 100644
--- a/camel/camel-mime-message.c
+++ b/camel/camel-mime-message.c
@@ -47,6 +47,8 @@
#include "camel-mime-filter-charset.h"
#include "camel-mime-filter-bestenc.h"
+#include "e-time-utils.h"
+
#define d(x)
/* these 2 below should be kept in sync */
@@ -202,22 +204,12 @@ camel_mime_message_set_date (CamelMimeMessage *message, time_t date, int offset
g_assert(message);
if (date == CAMEL_MESSAGE_DATE_CURRENT) {
- struct tm *local;
+ struct tm local;
int tz;
date = time(0);
- local = localtime(&date);
-#if defined(HAVE_TIMEZONE)
- tz = timezone;
-#elif defined(HAVE_TM_GMTOFF)
- tz = -local->tm_gmtoff;
-#endif
- offset = -(((tz/60/60) * 100) + (tz/60 % 60));
-#ifdef HAVE_TIMEZONE
- /* tm.tm_gmtoff is already adjusted for DST */
- if (local->tm_isdst>0)
- offset += 100;
-#endif
+ e_localtime_with_offset(date, &local, &tz);
+ offset = (((tz/60/60) * 100) + (tz/60 % 60));
}
message->date = date;
message->date_offset = offset;