X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=rfc2047.c;h=50304c62567a85736dd1415f9cbf7f0bb462cb7b;hp=7fc21d004a73414c9fa45c10e288fe47714a59d5;hb=1601b25fd310dd65a6b6d1b49f2e16f55560ac9d;hpb=bbc4fd52516a8afefbd14c77e34f8389d6f0a6ed diff --git a/rfc2047.c b/rfc2047.c index 7fc21d0..50304c6 100644 --- a/rfc2047.c +++ b/rfc2047.c @@ -801,3 +801,30 @@ void rfc2047_decode_adrlist (ADDRESS * a) a = a->next; } } + +void rfc2047_decode_envelope (ENVELOPE* e) { + + if (!e) + return; + + /* do RFC2047 decoding */ + rfc2047_decode_adrlist (e->from); + rfc2047_decode_adrlist (e->to); + rfc2047_decode_adrlist (e->cc); + rfc2047_decode_adrlist (e->bcc); + rfc2047_decode_adrlist (e->reply_to); + rfc2047_decode_adrlist (e->mail_followup_to); + rfc2047_decode_adrlist (e->return_path); + rfc2047_decode_adrlist (e->sender); + + if (e->subject) { + regmatch_t pmatch[1]; + + rfc2047_decode (&e->subject); + + if (regexec (ReplyRegexp.rx, e->subject, 1, pmatch, 0) == 0) + e->real_subj = e->subject + pmatch[0].rm_eo; + else + e->real_subj = e->subject; + } +}