X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=rfc2047.c;h=50304c62567a85736dd1415f9cbf7f0bb462cb7b;hp=69b884ffa64899c1ce0c4e815ff3ef18d1c4f0cd;hb=fa54675b6ceb98bce1a8931b7cc5b70ecedf4225;hpb=ba5e3af4ea19e1d20c80941c077039871ec84258 diff --git a/rfc2047.c b/rfc2047.c index 69b884f..50304c6 100644 --- a/rfc2047.c +++ b/rfc2047.c @@ -13,6 +13,7 @@ #endif #include "mutt.h" +#include "ascii.h" #include "mime.h" #include "charset.h" #include "rfc2047.h" @@ -800,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; + } +}