if (decode || decrypt)
mutt_parse_mime_message(Context->mailbox, e);
- rc = mutt_append_message(ctx, Context, e, cmflags, chflags);
+ rc = mutt_append_message(ctx->mailbox, Context->mailbox, e, cmflags, chflags);
if (rc != 0)
return rc;
* @retval 0 Success
* @retval -1 Failure
*/
-int mutt_append_message(struct Context *dest, struct Context *src,
+int mutt_append_message(struct Mailbox *dest, struct Mailbox *src,
struct Email *e, int cmflags, int chflags)
{
- struct Message *msg = mx_msg_open(src->mailbox, e->msgno);
+ struct Message *msg = mx_msg_open(src, e->msgno);
if (!msg)
return -1;
- int r = append_message(dest->mailbox, msg->fp, src->mailbox, e, cmflags, chflags);
- mx_msg_close(src->mailbox, &msg);
+ int r = append_message(dest, msg->fp, src, e, cmflags, chflags);
+ mx_msg_close(src, &msg);
return r;
}
#include <stdio.h>
-struct Email;
struct Context;
+struct Email;
+struct Mailbox;
/**< flags to mutt_copy_message */
#define MUTT_CM_NOHEADER (1 << 0) /**< don't copy the message header */
int mutt_copy_message_fp (FILE *fpout, FILE *fpin, struct Email *e, int flags, int chflags);
int mutt_copy_message_ctx(FILE *fpout, struct Context *src, struct Email *e, int flags, int chflags);
-int mutt_append_message(struct Context *dest, struct Context *src, struct Email *e, int cmflags, int chflags);
+int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, int cmflags, int chflags);
#endif /* MUTT_COPY_H */
const int chflags =
CH_NOLEN |
((ctx->mailbox->magic == MUTT_MBOX || ctx->mailbox->magic == MUTT_MMDF) ? 0 : CH_NOSTATUS);
- rc = mutt_append_message(tmpctx, ctx, cur, 0, chflags);
+ rc = mutt_append_message(tmpctx->mailbox, ctx->mailbox, cur, 0, chflags);
oerrno = errno;
mx_mbox_close(&tmpctx, NULL);
{
if (m->hdrs[i]->deleted && (!m->hdrs[i]->purge))
{
- if (mutt_append_message(ctx_trash, ctx, m->hdrs[i], 0, 0) == -1)
+ if (mutt_append_message(ctx_trash->mailbox, m, m->hdrs[i], 0, 0) == -1)
{
mx_mbox_close(&ctx_trash, NULL);
return -1;
{
if (m->hdrs[i]->read && !m->hdrs[i]->deleted && !(m->hdrs[i]->flagged && KeepFlagged))
{
- if (mutt_append_message(f, ctx, m->hdrs[i], 0, CH_UPDATE_LEN) == 0)
+ if (mutt_append_message(f->mailbox, ctx->mailbox, m->hdrs[i], 0, CH_UPDATE_LEN) == 0)
{
mutt_set_flag(m, m->hdrs[i], MUTT_DELETE, 1);
mutt_set_flag(m, m->hdrs[i], MUTT_PURGE, 1);