From: Kevin McCarthy Date: Fri, 26 Apr 2013 19:10:46 +0000 (-0700) Subject: Fix postpone/resume to not remove a Mail-Followup-To header (closes #3070) X-Git-Tag: neomutt-20160307~139 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f75edfb5b8aa07881e75e69b5ba0f5a2e67512f9;p=neomutt Fix postpone/resume to not remove a Mail-Followup-To header (closes #3070) This solution changes mutt_prepare_template() to check whether the message_id field is NULL to decide whether to wipe the message-id and mail-followup-to headers when instantiating the message. If we are resending a message, we don't want the previous message-id and mail-followup-to headers. If we are resuming a postponed message, however, we want to keep the mail-followup-to header if any was set before the postpone. --- diff --git a/postpone.c b/postpone.c index 7ff981452..a54b07c89 100644 --- a/postpone.c +++ b/postpone.c @@ -545,8 +545,15 @@ int mutt_prepare_template (FILE *fp, CONTEXT *ctx, HEADER *newhdr, HEADER *hdr, newhdr->content->length = hdr->content->length; mutt_parse_part (fp, newhdr->content); - FREE (&newhdr->env->message_id); - FREE (&newhdr->env->mail_followup_to); /* really? */ + /* If message_id is set, then we are resending a message and don't want + * message_id or mail_followup_to. Otherwise, we are resuming a + * postponed message, and want to keep the mail_followup_to. + */ + if (newhdr->env->message_id != NULL) + { + FREE (&newhdr->env->message_id); + FREE (&newhdr->env->mail_followup_to); + } /* decrypt pgp/mime encoded messages */