From: Kevin McCarthy Date: Sun, 16 Dec 2018 22:23:54 +0000 (-0800) Subject: Add rfc2047_encode_envelope helper X-Git-Tag: 2019-10-25~396^2~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=114efa43af6b080c44d7d0d7b7421fbb508c1c90;p=neomutt Add rfc2047_encode_envelope helper Co-authored-by: Richard Russon --- diff --git a/email/rfc2047.c b/email/rfc2047.c index 722c4be66..8b4a6ae41 100644 --- a/email/rfc2047.c +++ b/email/rfc2047.c @@ -797,3 +797,20 @@ void rfc2047_decode_envelope(struct Envelope *env) rfc2047_decode(&env->x_label); rfc2047_decode(&env->subject); } + +/** + * rfc2047_encode_envelope - Encode the fields of an Envelope + * @param env Envelope + */ +void rfc2047_encode_envelope(struct Envelope *env) +{ + rfc2047_encode_addrlist(env->from, "From"); + rfc2047_encode_addrlist(env->to, "To"); + rfc2047_encode_addrlist(env->cc, "Cc"); + rfc2047_encode_addrlist(env->bcc, "Bcc"); + rfc2047_encode_addrlist(env->reply_to, "Reply-To"); + rfc2047_encode_addrlist(env->mail_followup_to, "Mail-Followup-To"); + rfc2047_encode_addrlist(env->sender, "Sender"); + rfc2047_encode(&env->x_label, NULL, sizeof("X-Label:"), SendCharset); + rfc2047_encode(&env->subject, NULL, sizeof("Subject:"), SendCharset); +} diff --git a/email/rfc2047.h b/email/rfc2047.h index d264dbf1b..0a2d29a69 100644 --- a/email/rfc2047.h +++ b/email/rfc2047.h @@ -34,5 +34,6 @@ void rfc2047_encode(char **pd, const char *specials, int col, const char *charse void rfc2047_decode_addrlist(struct Address *a); void rfc2047_encode_addrlist(struct Address *addr, const char *tag); void rfc2047_decode_envelope(struct Envelope *env); +void rfc2047_encode_envelope(struct Envelope *env); #endif /* MUTT_EMAIL_RFC2047_H */ diff --git a/sendlib.c b/sendlib.c index 785c2d9b8..4a3b182b7 100644 --- a/sendlib.c +++ b/sendlib.c @@ -2907,20 +2907,7 @@ void mutt_prepare_envelope(struct Envelope *env, bool final) } /* Take care of 8-bit => 7-bit conversion. */ - rfc2047_encode_addrlist(env->to, "To"); - rfc2047_encode_addrlist(env->cc, "Cc"); - rfc2047_encode_addrlist(env->bcc, "Bcc"); - rfc2047_encode_addrlist(env->from, "From"); - rfc2047_encode_addrlist(env->mail_followup_to, "Mail-Followup-To"); - rfc2047_encode_addrlist(env->reply_to, "Reply-To"); - - if (env->subject) -#ifdef USE_NNTP - if (!OptNewsSend || MimeSubject) -#endif - { - rfc2047_encode(&env->subject, NULL, sizeof("Subject:"), SendCharset); - } + rfc2047_encode_envelope(env); encode_headers(&env->userhdrs); }