]> granicus.if.org Git - neomutt/commitdiff
factor out Context from mutt_copy_message_ctx()
authorRichard Russon <rich@flatcap.org>
Thu, 22 Nov 2018 13:11:12 +0000 (13:11 +0000)
committerRichard Russon <rich@flatcap.org>
Thu, 22 Nov 2018 13:45:24 +0000 (13:45 +0000)
commands.c
copy.c
copy.h
maildir/mh.c
mbox/mbox.c
ncrypt/crypt.c
ncrypt/smime.c
send.c
sendlib.c

index 6c0d762571e9b2a72097920b4a2b1b80fcb5fad9..9746ded7b2e42e4f7e44c54c91105e25349506e8 100644 (file)
@@ -185,7 +185,7 @@ int mutt_display_message(struct Email *cur)
   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)
   {
@@ -426,7 +426,7 @@ static void pipe_msg(struct Email *e, FILE *fp, bool decode, bool print)
   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);
 }
 
 /**
diff --git a/copy.c b/copy.c
index 0b0fcedb95c31110423798ae11b15cf2ba0a33f6..419750893f939278de0c5539e4a8e74e71fc40dc 100644 (file)
--- a/copy.c
+++ b/copy.c
@@ -789,10 +789,10 @@ int mutt_copy_message_fp(FILE *fpout, FILE *fpin, struct Email *e, int flags, in
  * 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)
@@ -803,7 +803,7 @@ int mutt_copy_message_ctx(FILE *fpout, struct Context *src, struct Email *e,
     mutt_debug(1, "failed to detect EOF!\n");
     r = -1;
   }
-  mx_msg_close(src->mailbox, &msg);
+  mx_msg_close(src, &msg);
   return r;
 }
 
diff --git a/copy.h b/copy.h
index f78791b31a9ea2846e9413fc9d4c63c70303c052..fd4cca89589e84a51c4a40e58c6ece7adf91ce97 100644 (file)
--- a/copy.h
+++ b/copy.h
@@ -25,7 +25,6 @@
 
 #include <stdio.h>
 
-struct Context;
 struct Email;
 struct Mailbox;
 
@@ -73,7 +72,7 @@ int mutt_copy_hdr(FILE *in, FILE *out, LOFF_T off_start, LOFF_T off_end,
 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);
 
index 54472ffe764736d2c1b7a938db1835164d3234d8..189850941f27eab74f0908c2cf162e11313c2282 100644 (file)
@@ -1560,7 +1560,7 @@ static int mh_rewrite_message(struct Context *ctx, int msgno)
   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];
index b82a2204507c0ae52760dfa30961dec92267a664..4060e83d959a01675ea8a7cf75d30713479d74aa 100644 (file)
@@ -1308,7 +1308,7 @@ static int mbox_mbox_sync(struct Context *ctx, int *index_hint)
        */
       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);
index 7e9ada17b7ccafdd133277a3402d3245f10f8768..2adb65e79f8b532d0e5ee02ac6fc22a09b9110cc 100644 (file)
@@ -843,7 +843,7 @@ void crypt_extract_keys_from_messages(struct Email *e)
 
       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();
@@ -855,12 +855,12 @@ void crypt_extract_keys_from_messages(struct Email *e)
       {
         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)
@@ -887,7 +887,7 @@ void crypt_extract_keys_from_messages(struct Email *e)
     {
       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"));
@@ -898,12 +898,12 @@ void crypt_extract_keys_from_messages(struct Email *e)
       {
         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)
index b3d51319ee08e46b85c958fd1bfc204379329d25..c5887e347bdc1a3513bc29305dae5ed244076629 100644 (file)
@@ -40,6 +40,7 @@
 #include "email/lib.h"
 #include "mutt.h"
 #include "alias.h"
+#include "context.h"
 #include "copy.h"
 #include "crypt.h"
 #include "cryptglue.h"
@@ -1438,11 +1439,11 @@ int smime_class_verify_sender(struct Email *e)
 
   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);
diff --git a/send.c b/send.c
index 3838d8a6f8dcd2aa94ac7f841b6e5675e3a77348..0057fe75e49f4bcf1822f119a5922ff1c82c12c5 100644 (file)
--- a/send.c
+++ b/send.c
@@ -565,7 +565,7 @@ static int include_forward(struct Context *ctx, struct Email *cur, FILE *out)
    * 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;
 }
@@ -639,7 +639,7 @@ static int include_reply(struct Context *ctx, struct Email *cur, FILE *out)
     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);
 
index 1eeb64e6022741a93e3cb3d1b2660ea3ccf373e0..ea1658f0d1e5e77a855bbf85d191e3aedc6c5fb5 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
@@ -1521,7 +1521,7 @@ struct Body *mutt_make_message_attach(struct Context *ctx, struct Email *e, bool
     }
   }
 
-  mutt_copy_message_ctx(fp, ctx, e, cmflags, chflags);
+  mutt_copy_message_ctx(fp, ctx->mailbox, e, cmflags, chflags);
 
   fflush(fp);
   rewind(fp);