X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=lib-mime%2Frfc822parse.c;h=c39eccc54016b45807ea5de16d211afee115b8f8;hb=cfe08f2ca21af629f74268f1f1425a5fec0494cd;hp=d2fb218af4e03a2a5ef84aa26f90717732770965;hpb=e0571c496935f226abe4a22921b5b4e10d1481e8;p=apps%2Fmadmutt.git diff --git a/lib-mime/rfc822parse.c b/lib-mime/rfc822parse.c index d2fb218..c39eccc 100644 --- a/lib-mime/rfc822parse.c +++ b/lib-mime/rfc822parse.c @@ -592,9 +592,18 @@ time_t mutt_parse_date(const char *s, HEADER *h) { struct tm tm; const char *loc; - p_clear(&tm, 1); loc = setlocale(LC_TIME, "C"); - s = strptime(s, "%a, %d %b %Y %T %z", &tm); + + 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); + return 0; + + ok: setlocale(LC_TIME, loc); return mutt_mktime(&tm, 1); } @@ -1049,3 +1058,70 @@ int mutt_count_body_parts(HEADER *hdr, int flags) hdr->attach_valid = 1; return hdr->attach_total; } + +/* + * A valid message separator looks like: + * + * From [ ]