workaround a stupid issue in how decoding is performed in mutt *sigh*
[apps/madmutt.git] / imap / util.c
index f4b60a7..b6ba310 100644 (file)
@@ -254,16 +254,18 @@ char *imap_next_word (char *s)
 }
 
 /* imap_parse_date: date is of the form: DD-MMM-YYYY HH:MM:SS +ZZzz */
-time_t imap_parse_date (char *s)
+time_t imap_parse_date(char *s)
 {
     struct tm tm;
     const char *loc;
+    time_t tz;
 
     p_clear(&tm, 1);
     loc = setlocale(LC_TIME, "C");
     strptime(s, "%d-%b-%Y %T %z", &tm);
+    tz = tm.tm_gmtoff;
     setlocale(LC_TIME, loc);
-    return mutt_mktime(&tm, 1);
+    return timegm(&tm) + tz;
 }
 
 /* imap_qualify_path: make an absolute IMAP folder target, given IMAP_MBOX