if (Context->mailbox->magic == MUTT_NOTMUCH)
chflags |= CH_VIRTUAL;
#endif
- res = mutt_copy_message_ctx(fpout, Context, cur, cmflags, chflags);
+ res = mutt_copy_message_ctx(fpout, Context->mailbox, cur, cmflags, chflags);
if ((mutt_file_fclose(&fpout) != 0 && errno != EPIPE) || res < 0)
{
if (decode)
mutt_parse_mime_message(Context->mailbox, e);
- mutt_copy_message_ctx(fp, Context, e, cmflags, chflags);
+ mutt_copy_message_ctx(fp, Context->mailbox, e, cmflags, chflags);
}
/**
* should be made to return -1 on fatal errors, and 1 on non-fatal errors
* like partial decode, where it is worth displaying as much as possible
*/
-int mutt_copy_message_ctx(FILE *fpout, struct Context *src, struct Email *e,
+int mutt_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e,
int flags, 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;
if (!e->content)
mutt_debug(1, "failed to detect EOF!\n");
r = -1;
}
- mx_msg_close(src->mailbox, &msg);
+ mx_msg_close(src, &msg);
return r;
}
#include <stdio.h>
-struct Context;
struct Email;
struct Mailbox;
int mutt_copy_header(FILE *in, struct Email *e, FILE *out, int flags, const char *prefix);
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_copy_message_ctx(FILE *fpout, struct Mailbox *src, struct Email *e, int flags, int chflags);
int mutt_append_message(struct Mailbox *dest, struct Mailbox *src, struct Email *e, int cmflags, int chflags);
if (!dest)
return -1;
- int rc = mutt_copy_message_ctx(dest->fp, ctx, e, MUTT_CM_UPDATE, CH_UPDATE | CH_UPDATE_LEN);
+ int rc = mutt_copy_message_ctx(dest->fp, ctx->mailbox, e, MUTT_CM_UPDATE, CH_UPDATE | CH_UPDATE_LEN);
if (rc == 0)
{
char oldpath[PATH_MAX];
*/
new_offset[i - first].hdr = ftello(fp) + offset;
- if (mutt_copy_message_ctx(fp, ctx, m->hdrs[i], MUTT_CM_UPDATE,
+ if (mutt_copy_message_ctx(fp, ctx->mailbox, m->hdrs[i], MUTT_CM_UPDATE,
CH_FROM | CH_UPDATE | CH_UPDATE_LEN) != 0)
{
mutt_perror(tempfile);
if (((WithCrypto & APPLICATION_PGP) != 0) && (ei->security & APPLICATION_PGP))
{
- mutt_copy_message_ctx(fpout, Context, ei, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0);
+ mutt_copy_message_ctx(fpout, Context->mailbox, ei, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0);
fflush(fpout);
mutt_endwin();
{
if (ei->security & ENCRYPT)
{
- mutt_copy_message_ctx(fpout, Context, ei,
+ mutt_copy_message_ctx(fpout, Context->mailbox, ei,
MUTT_CM_NOHEADER | MUTT_CM_DECODE_CRYPT | MUTT_CM_DECODE_SMIME,
0);
}
else
- mutt_copy_message_ctx(fpout, Context, ei, 0, 0);
+ mutt_copy_message_ctx(fpout, Context->mailbox, ei, 0, 0);
fflush(fpout);
if (ei->env->from)
{
if (((WithCrypto & APPLICATION_PGP) != 0) && (e->security & APPLICATION_PGP))
{
- mutt_copy_message_ctx(fpout, Context, e, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0);
+ mutt_copy_message_ctx(fpout, Context->mailbox, e, MUTT_CM_DECODE | MUTT_CM_CHARCONV, 0);
fflush(fpout);
mutt_endwin();
puts(_("Trying to extract PGP keys...\n"));
{
if (e->security & ENCRYPT)
{
- mutt_copy_message_ctx(fpout, Context, e,
+ mutt_copy_message_ctx(fpout, Context->mailbox, e,
MUTT_CM_NOHEADER | MUTT_CM_DECODE_CRYPT | MUTT_CM_DECODE_SMIME,
0);
}
else
- mutt_copy_message_ctx(fpout, Context, e, 0, 0);
+ mutt_copy_message_ctx(fpout, Context->mailbox, e, 0, 0);
fflush(fpout);
if (e->env->from)
#include "email/lib.h"
#include "mutt.h"
#include "alias.h"
+#include "context.h"
#include "copy.h"
#include "crypt.h"
#include "cryptglue.h"
if (e->security & ENCRYPT)
{
- mutt_copy_message_ctx(fpout, Context, e, MUTT_CM_DECODE_CRYPT & MUTT_CM_DECODE_SMIME,
+ mutt_copy_message_ctx(fpout, Context->mailbox, e, MUTT_CM_DECODE_CRYPT & MUTT_CM_DECODE_SMIME,
CH_MIME | CH_WEED | CH_NONEWLINE);
}
else
- mutt_copy_message_ctx(fpout, Context, e, 0, 0);
+ mutt_copy_message_ctx(fpout, Context->mailbox, e, 0, 0);
fflush(fpout);
mutt_file_fclose(&fpout);
* rather than send action */
chflags |= CH_DISPLAY;
- mutt_copy_message_ctx(out, ctx, cur, cmflags, chflags);
+ mutt_copy_message_ctx(out, ctx->mailbox, cur, cmflags, chflags);
mutt_forward_trailer(ctx, cur, out);
return 0;
}
cmflags |= MUTT_CM_WEED;
}
- mutt_copy_message_ctx(out, ctx, cur, cmflags, chflags);
+ mutt_copy_message_ctx(out, ctx->mailbox, cur, cmflags, chflags);
mutt_make_post_indent(ctx, cur, out);
}
}
- mutt_copy_message_ctx(fp, ctx, e, cmflags, chflags);
+ mutt_copy_message_ctx(fp, ctx->mailbox, e, cmflags, chflags);
fflush(fp);
rewind(fp);