int mutt_write_mime_body (BODY *, FILE *);
int mutt_write_mime_header (BODY *, FILE *);
int mutt_write_one_header (FILE *fp, const char *tag, const char *value, const char *pfx, int wraplen, int flags);
-int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int, int);
+int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, mutt_write_header_mode, int);
void mutt_write_references (LIST *, FILE *, int);
int mutt_yesorno (const char *, int);
void mutt_set_header_color(CONTEXT *, HEADER *);
unset_option (OPTWRITEBCC);
#endif
#ifdef MIXMASTER
- mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, msg->chain ? 1 : 0);
+ mutt_write_rfc822_header (tempfp, msg->env, msg->content,
+ MUTT_WRITE_HEADER_NORMAL, msg->chain ? 1 : 0);
#endif
#ifndef MIXMASTER
- mutt_write_rfc822_header (tempfp, msg->env, msg->content, 0, 0);
+ mutt_write_rfc822_header (tempfp, msg->env, msg->content,
+ MUTT_WRITE_HEADER_NORMAL, 0);
#endif
#ifdef USE_SMTP
if (old_write_bcc)
*
* Likewise, all IDN processing should happen outside of this routine.
*
- * mode == 1 => "lite" mode (used for edit_hdrs)
- * mode == 0 => normal mode. write full header + MIME headers
- * mode == -1 => write just the envelope info (used for postponing messages)
+ * mode == MUTT_WRITE_HEADER_EDITHDRS => "lite" mode (used for edit_hdrs)
+ * mode == MUTT_WRITE_HEADER_NORMAL => normal mode. write full header + MIME headers
+ * mode == MUTT_WRITE_HEADER_POSTPONE => write just the envelope info
+ * mode == MUTT_WRITE_HEADER_MIME => for writing protected headers
*
* privacy != 0 => will omit any headers which may identify the user.
* Output generated is suitable for being sent through
int mutt_write_rfc822_header (FILE *fp, ENVELOPE *env, BODY *attach,
- int mode, int privacy)
+ mutt_write_header_mode mode, int privacy)
{
char buffer[LONG_STRING];
char *p, *q;
LIST *tmp = env->userhdrs;
int has_agent = 0; /* user defined user-agent header field exists */
- if (mode == 0 && !privacy)
+ if (mode == MUTT_WRITE_HEADER_NORMAL && !privacy)
fputs (mutt_make_date (buffer, sizeof(buffer)), fp);
/* OPTUSEFROM is not consulted here so that we can still write a From:
fputs ("To: ", fp);
mutt_write_address_list (env->to, fp, 4, 0);
}
- else if (mode > 0)
+ else if (mode == MUTT_WRITE_HEADER_EDITHDRS)
fputs ("To: \n", fp);
if (env->cc)
fputs ("Cc: ", fp);
mutt_write_address_list (env->cc, fp, 4, 0);
}
- else if (mode > 0)
+ else if (mode == MUTT_WRITE_HEADER_EDITHDRS)
fputs ("Cc: \n", fp);
if (env->bcc)
{
- if(mode != 0 || option(OPTWRITEBCC))
+ if (mode == MUTT_WRITE_HEADER_POSTPONE ||
+ mode == MUTT_WRITE_HEADER_EDITHDRS ||
+ (mode == MUTT_WRITE_HEADER_NORMAL && option(OPTWRITEBCC)))
{
fputs ("Bcc: ", fp);
mutt_write_address_list (env->bcc, fp, 5, 0);
}
}
- else if (mode > 0)
+ else if (mode == MUTT_WRITE_HEADER_EDITHDRS)
fputs ("Bcc: \n", fp);
if (env->subject)
mutt_write_one_header (fp, "Subject", env->subject, NULL, 0, 0);
- else if (mode == 1)
+ else if (mode == MUTT_WRITE_HEADER_EDITHDRS)
fputs ("Subject: \n", fp);
/* save message id if the user has set it */
fputs ("Reply-To: ", fp);
mutt_write_address_list (env->reply_to, fp, 10, 0);
}
- else if (mode > 0)
+ else if (mode == MUTT_WRITE_HEADER_EDITHDRS)
fputs ("Reply-To: \n", fp);
if (env->mail_followup_to)
mutt_write_address_list (env->mail_followup_to, fp, 18, 0);
}
- if (mode <= 0)
+ if (mode == MUTT_WRITE_HEADER_NORMAL ||
+ mode == MUTT_WRITE_HEADER_POSTPONE)
{
if (env->references)
{
}
}
- if (mode == 0 && !privacy && option (OPTXMAILER) && !has_agent)
+ if (mode == MUTT_WRITE_HEADER_NORMAL && !privacy &&
+ option (OPTXMAILER) && !has_agent)
{
/* Add a vanity header */
fprintf (fp, "User-Agent: Mutt/%s (%s)\n", MUTT_VERSION, ReleaseDate);
return (-1);
}
- /* post == 1 => postpone message. Set mode = -1 in mutt_write_rfc822_header()
- * post == 0 => Normal mode. Set mode = 0 in mutt_write_rfc822_header()
+ /* post == 1 => postpone message.
+ * post == 0 => Normal mode.
* */
- mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, post ? -post : 0, 0);
+ mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content,
+ post ? MUTT_WRITE_HEADER_POSTPONE : MUTT_WRITE_HEADER_NORMAL,
+ 0);
/* (postponment) if this was a reply of some sort, <msgid> contains the
* Message-ID: of message replied to. Save it using a special X-Mutt-