X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mime%2Frfc822parse.c;h=49e806d7dfc456d65da1afc040a85a9915fdbfed;hp=c39eccc54016b45807ea5de16d211afee115b8f8;hb=6920eb5798f2d9f25e5ea1af2ba86122cf408bd1;hpb=cfe08f2ca21af629f74268f1f1425a5fec0494cd diff --git a/lib-mime/rfc822parse.c b/lib-mime/rfc822parse.c index c39eccc..49e806d 100644 --- a/lib-mime/rfc822parse.c +++ b/lib-mime/rfc822parse.c @@ -419,7 +419,7 @@ BODY *mutt_read_mime_header(FILE *fp, int digest) } p_delete(&line); - return (body); + return body; } void mutt_parse_part(FILE *fp, BODY *b) @@ -578,7 +578,7 @@ mutt_parse_multipart(FILE *fp, const char *bound, off_t end_off, int digest) mutt_parse_part(fp, b); } - return (head); + return head; } /* parses a date string in RFC822 format: @@ -592,20 +592,22 @@ time_t mutt_parse_date(const char *s, HEADER *h) { struct tm tm; const char *loc; - loc = setlocale(LC_TIME, "C"); + time_t tz; + loc = setlocale(LC_ALL, "C"); p_clear(&tm, 1); if (strptime(s, "%a, %d %b %Y %H:%M:%S %z", &tm)) goto ok; p_clear(&tm, 1); if (strptime(s, "%a, %d %b %Y %H:%M %z", &tm)) goto ok; - setlocale(LC_TIME, loc); + setlocale(LC_ALL, ""); return 0; ok: - setlocale(LC_TIME, loc); - return mutt_mktime(&tm, 1); + setlocale(LC_ALL, ""); + tz = tm.tm_gmtoff; + return timegm(&tm) - tz; } string_list_t **mutt_parse_rfc822_line(ENVELOPE *e, HEADER *hdr, char *line, char *p, @@ -668,15 +670,6 @@ string_list_t **mutt_parse_rfc822_line(ENVELOPE *e, HEADER *hdr, char *line, cha hdr->expired = 1; break; -#ifdef USE_NNTP - case MIME_FOLLOWUP_TO: - if (!e->followup_to) { - m_strrtrim(p); - e->followup_to = m_strdup(skipspaces(p)); - } - break; -#endif - case MIME_FROM: e->from = rfc822_parse_adrlist(e->from, p); /* don't leave from info NULL if there's an invalid address (or @@ -748,14 +741,6 @@ string_list_t **mutt_parse_rfc822_line(ENVELOPE *e, HEADER *hdr, char *line, cha hdr->mime = 1; break; -#ifdef USE_NNTP - case MIME_NEWSGROUPS: - p_delete(&e->newsgroups); - m_strrtrim(p); - e->newsgroups = m_strdup(skipspaces(p)); - break; -#endif - case MIME_ORGANIZATION: if (!e->organization && mime_which_token(p, -1) == MIME_UNKNOWN) e->organization = m_strdup(p); @@ -824,13 +809,6 @@ string_list_t **mutt_parse_rfc822_line(ENVELOPE *e, HEADER *hdr, char *line, cha e->x_label = m_strdup(p); break; -#ifdef USE_NNTP - case MIME_XREF: - if (!e->xref) - e->xref = m_strdup(p); - break; -#endif - case MIME_X_STATUS: if (hdr) { while (*p) { @@ -1121,7 +1099,9 @@ bool is_from(const char *s, char *path, ssize_t pathlen, time_t *tp) return false; ok: - if (tp) - *tp = mutt_mktime(&tm, 1); + if (tp) { + *tp = tm.tm_gmtoff; + *tp = timegm(&tm) - *tp; + } return true; }