char tempfile[PATH_MAX], buf[1024];
int rc = 0;
bool builtin = false;
- int cmflags = MUTT_CM_DECODE | MUTT_CM_DISPLAY | MUTT_CM_CHARCONV;
+ CopyMessageFlags cmflags = MUTT_CM_DECODE | MUTT_CM_DISPLAY | MUTT_CM_CHARCONV;
CopyHeaderFlags chflags;
FILE *fpout = NULL;
FILE *fpfilterout = NULL;
* pipe_set_flags - Generate flags for copy header/message
* @param[in] decode If true decode the message
* @param[in] print If true, mark the message for printing
- * @param[out] cmflags Copy message flags, e.g. MUTT_CM_DECODE
+ * @param[out] cmflags Flags, see #CopyMessageFlags
* @param[out] chflags Flags, see #CopyHeaderFlags
*/
-static void pipe_set_flags(bool decode, bool print, int *cmflags, CopyHeaderFlags *chflags)
+static void pipe_set_flags(bool decode, bool print, CopyMessageFlags *cmflags,
+ CopyHeaderFlags *chflags)
{
if (decode)
{
*/
static void pipe_msg(struct Mailbox *m, struct Email *e, FILE *fp, bool decode, bool print)
{
- int cmflags = 0;
+ CopyMessageFlags cmflags = MUTT_CM_NO_FLAGS;
CopyHeaderFlags chflags = CH_FROM;
pipe_set_flags(decode, print, &cmflags, &chflags);
* @param[in] e Email
* @param[in] decode If true, decode the message
* @param[in] decrypt If true, decrypt the message
- * @param[out] cmflags Copy message flags, e.g. MUTT_CM_DECODE
+ * @param[out] cmflags Flags, see #CopyMessageFlags
* @param[out] chflags Flags, see #CopyHeaderFlags
*/
static void set_copy_flags(struct Email *e, bool decode, bool decrypt,
- int *cmflags, CopyHeaderFlags *chflags)
+ CopyMessageFlags *cmflags, CopyHeaderFlags *chflags)
{
- *cmflags = 0;
+ *cmflags = MUTT_CM_NO_FLAGS;
*chflags = CH_UPDATE_LEN;
if ((WithCrypto != 0) && !decode && decrypt && (e->security & SEC_ENCRYPT))
int mutt_save_message_ctx(struct Email *e, bool delete, bool decode,
bool decrypt, struct Mailbox *m)
{
- int cmflags;
- CopyHeaderFlags chflags;
+ CopyMessageFlags cmflags = MUTT_CM_NO_FLAGS;
+ CopyHeaderFlags chflags = CH_NO_FLAGS;
int rc;
set_copy_flags(e, decode, decrypt, &cmflags, &chflags);
* @param fpout Where to write output
* @param fpin Where to get input
* @param e Email being copied
- * @param cmflags Flags, e.g. #MUTT_CM_NOHEADER
+ * @param cmflags Flags, see #CopyMessageFlags
* @param chflags Flags, see #CopyHeaderFlags
* @retval 0 Success
* @retval -1 Failure
*/
-int mutt_copy_message_fp(FILE *fpout, FILE *fpin, struct Email *e, int cmflags, CopyHeaderFlags chflags)
+int mutt_copy_message_fp(FILE *fpout, FILE *fpin, struct Email *e,
+ CopyMessageFlags cmflags, CopyHeaderFlags chflags)
{
struct Body *body = e->content;
char prefix[128];
* @param fpout FILE pointer to write to
* @param src Source mailbox
* @param e Email
- * @param cmflags Flags, see: mutt_copy_message_fp()
+ * @param cmflags Flags, see #CopyMessageFlags
* @param chflags Flags, see #CopyHeaderFlags
* @retval 0 Success
* @retval -1 Failure
* like partial decode, where it is worth displaying as much as possible
*/
int mutt_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e,
- int cmflags, CopyHeaderFlags chflags)
+ CopyMessageFlags cmflags, CopyHeaderFlags chflags)
{
struct Message *msg = mx_msg_open(src, e->msgno);
if (!msg)
* @param fpin where to get input
* @param src source mailbox
* @param e Email being copied
- * @param cmflags mutt_open_copy_message() flags
+ * @param cmflags Flags, see #CopyMessageFlags
* @param chflags Flags, see #CopyHeaderFlags
* @retval 0 Success
* @retval -1 Error
*/
static int append_message(struct Mailbox *dest, FILE *fpin, struct Mailbox *src,
- struct Email *e, int cmflags, CopyHeaderFlags chflags)
+ struct Email *e, CopyMessageFlags cmflags, CopyHeaderFlags chflags)
{
char buf[256];
struct Message *msg = NULL;
* @param dest Destination Mailbox
* @param src Source Mailbox
* @param e Email
- * @param cmflags mutt_open_copy_message() flags
+ * @param cmflags Flags, see #CopyMessageFlags
* @param chflags Flags, see #CopyHeaderFlags
* @retval 0 Success
* @retval -1 Failure
*/
-int mutt_append_message(struct Mailbox *dest, struct Mailbox *src,
- struct Email *e, int cmflags, CopyHeaderFlags chflags)
+int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e,
+ CopyMessageFlags cmflags, CopyHeaderFlags chflags)
{
struct Message *msg = mx_msg_open(src, e->msgno);
if (!msg)
struct Email;
struct Mailbox;
-/**< flags to mutt_copy_message */
+typedef uint16_t CopyMessageFlags; ///< Flags for mutt_copy_message(), e.g. #MUTT_CM_NOHEADER
+#define MUTT_CM_NO_FLAGS 0 ///< No flags are set
#define MUTT_CM_NOHEADER (1 << 0) ///< Don't copy the message header
#define MUTT_CM_PREFIX (1 << 1) ///< Quote the header and body
#define MUTT_CM_DECODE (1 << 2) ///< Decode the message body into text/plain
int mutt_copy_header(FILE *in, struct Email *e, FILE *out, CopyHeaderFlags chflags, const char *prefix);
-int mutt_copy_message_fp(FILE *fpout, FILE *fpin, struct Email *e, int cmflags, CopyHeaderFlags chflags);
-int mutt_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e, int cmflags, CopyHeaderFlags chflags);
+int mutt_copy_message_fp(FILE *fpout, FILE *fpin, struct Email *e, CopyMessageFlags cmflags, CopyHeaderFlags chflags);
+int mutt_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e, CopyMessageFlags cmflags, CopyHeaderFlags chflags);
-int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, int cmflags, CopyHeaderFlags chflags);
+int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, CopyMessageFlags cmflags, CopyHeaderFlags chflags);
#endif /* MUTT_COPY_H */
return;
}
- int cmflags = 0;
+ CopyMessageFlags cmflags = MUTT_CM_NO_FLAGS;
if (C_ForwardQuote)
{
chflags |= CH_PREFIX;
*/
static void attach_include_reply(FILE *fp, FILE *tmpfp, struct Email *cur)
{
- int cmflags = MUTT_CM_PREFIX | MUTT_CM_DECODE | MUTT_CM_CHARCONV;
+ CopyMessageFlags cmflags = MUTT_CM_PREFIX | MUTT_CM_DECODE | MUTT_CM_CHARCONV;
CopyHeaderFlags chflags = CH_DECODE;
mutt_make_attribution(Context->mailbox, cur, tmpfp);
static int include_forward(struct Mailbox *m, struct Email *e, FILE *out)
{
CopyHeaderFlags chflags = CH_DECODE;
- int cmflags = 0;
+ CopyMessageFlags cmflags = MUTT_CM_NO_FLAGS;
mutt_parse_mime_message(m, e);
mutt_message_hook(m, e, MUTT_MESSAGE_HOOK);
*/
static int include_reply(struct Mailbox *m, struct Email *e, FILE *out)
{
- int cmflags = MUTT_CM_PREFIX | MUTT_CM_DECODE | MUTT_CM_CHARCONV | MUTT_CM_REPLYING;
+ CopyMessageFlags cmflags =
+ MUTT_CM_PREFIX | MUTT_CM_DECODE | MUTT_CM_CHARCONV | MUTT_CM_REPLYING;
CopyHeaderFlags chflags = CH_DECODE;
if ((WithCrypto != 0) && (e->security & SEC_ENCRYPT))
char buf[1024];
struct Body *body = NULL;
FILE *fp = NULL;
- int cmflags;
+ CopyMessageFlags cmflags;
int pgp = WithCrypto ? e->security : 0;
if (WithCrypto)
mutt_parse_mime_message(m, e);
CopyHeaderFlags chflags = CH_XMIT;
- cmflags = 0;
+ cmflags = MUTT_CM_NO_FLAGS;
/* If we are attaching a message, ignore C_MimeForwardDecode */
if (!attach_msg && C_MimeForwardDecode)