]> granicus.if.org Git - neomutt/commitdiff
drop mx_open's Context parameter
authorRichard Russon <rich@flatcap.org>
Mon, 27 Aug 2018 18:53:56 +0000 (19:53 +0100)
committerRichard Russon <rich@flatcap.org>
Mon, 27 Aug 2018 18:53:56 +0000 (19:53 +0100)
13 files changed:
commands.c
compose.c
curs_main.c
editmsg.c
imap/imap.c
mailbox.c
main.c
mutt_attach.c
mx.c
mx.h
pop/pop.c
postpone.c
sendlib.c

index a9bc9c885eaab88ecdc1e4814cf292c1469bbc8b..2f3775390caec7c954e987083088de3cdd46bf79 100644 (file)
@@ -986,7 +986,7 @@ int mutt_save_message(struct Header *h, bool delete, bool decode, bool decrypt)
   }
 #endif
 
-  savectx = mx_mbox_open(buf, MUTT_APPEND, NULL);
+  savectx = mx_mbox_open(buf, MUTT_APPEND);
   if (savectx)
   {
 #ifdef USE_COMPRESSED
index 398cedc44b32a8371eabb6dd70eee3639df07d67..6690cb2655415673a4f0d6d503503093d9d9b3ea 100644 (file)
--- a/compose.c
+++ b/compose.c
@@ -1451,7 +1451,7 @@ int mutt_compose_menu(struct Header *msg, char *fcc, size_t fcclen,
 
         menu->redraw = REDRAW_FULL;
 
-        ctx = mx_mbox_open(fname, MUTT_READONLY, NULL);
+        ctx = mx_mbox_open(fname, MUTT_READONLY);
         if (!ctx)
         {
           mutt_error(_("Unable to open mailbox %s"), fname);
index 92b19519e0daa43316e1368a7a200fc48ff31212..bcf47e6b8c2abfdade119afa420381c6ddced7ae 100644 (file)
@@ -551,7 +551,7 @@ static int main_change_folder(struct Menu *menu, int op, char *buf,
   mutt_folder_hook(buf);
 
   const int flags = (ReadOnly || (op == OP_MAIN_CHANGE_FOLDER_READONLY)) ? MUTT_READONLY : 0;
-  Context = mx_mbox_open(buf, flags, NULL);
+  Context = mx_mbox_open(buf, flags);
   if (Context)
   {
     menu->current = ci_first_message();
index 288babe20887412e952589b8cc548d83addc88fd..8410c8d49da3e0727d649bd369db778d95597111 100644 (file)
--- a/editmsg.c
+++ b/editmsg.c
@@ -83,7 +83,7 @@ static int edit_or_view_one_message(bool edit, struct Context *ctx, struct Heade
   omagic = MboxType;
   MboxType = MUTT_MBOX;
 
-  tmpctx = mx_mbox_open(tmp, MUTT_NEWFOLDER, NULL);
+  tmpctx = mx_mbox_open(tmp, MUTT_NEWFOLDER);
 
   MboxType = omagic;
 
@@ -185,7 +185,7 @@ static int edit_or_view_one_message(bool edit, struct Context *ctx, struct Heade
     goto bail;
   }
 
-  tmpctx = mx_mbox_open(ctx->path, MUTT_APPEND, NULL);
+  tmpctx = mx_mbox_open(ctx->path, MUTT_APPEND);
   if (!tmpctx)
   {
     rc = -1;
index 6568f22939ebb1733aa96e8b815e2fa2631300fe..86b9ea553a56bc564b95abd0106ed4a9e8dc0cd6 100644 (file)
@@ -2439,7 +2439,7 @@ int imap_sync_mailbox(struct Context *ctx, bool expunge)
                               "Saving changed messages... [%d/%d]", ctx->msgcount),
                      i + 1, ctx->msgcount);
         if (!appendctx)
-          appendctx = mx_mbox_open(ctx->path, MUTT_APPEND | MUTT_QUIET, NULL);
+          appendctx = mx_mbox_open(ctx->path, MUTT_APPEND | MUTT_QUIET);
         if (!appendctx)
           mutt_debug(1, "Error opening mailbox in append mode\n");
         else
index 3ae2dd5c1f7768c2ef5d1db04bda3b0ab22f1b2d..8ebdb24afaafe0d762678dcb651b0abf74407bf3 100644 (file)
--- a/mailbox.c
+++ b/mailbox.c
@@ -358,7 +358,7 @@ static int mailbox_mbox_check(struct Mailbox *mailbox, struct stat *sb, bool che
 
   if (check_stats && (mailbox->stats_last_checked < sb->st_mtime))
   {
-    struct Context *ctx = mx_mbox_open(mailbox->path, MUTT_READONLY | MUTT_QUIET | MUTT_NOSORT | MUTT_PEEK, NULL);
+    struct Context *ctx = mx_mbox_open(mailbox->path, MUTT_READONLY | MUTT_QUIET | MUTT_NOSORT | MUTT_PEEK);
     if (ctx)
     {
       mailbox->msg_count = ctx->msgcount;
diff --git a/main.c b/main.c
index 5cd767a8159be421c264e4602e8a09dad284b429..78fbe51bea352fa347d9cbe7a5cff1952caff3d6 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1196,7 +1196,7 @@ int main(int argc, char *argv[], char *envp[])
     mutt_startup_shutdown_hook(MUTT_STARTUP_HOOK);
 
     repeat_error = true;
-    Context = mx_mbox_open(folder, ((flags & MUTT_RO) || ReadOnly) ? MUTT_READONLY : 0, NULL);
+    Context = mx_mbox_open(folder, ((flags & MUTT_RO) || ReadOnly) ? MUTT_READONLY : 0);
     if (Context || !explicit_folder)
     {
 #ifdef USE_SIDEBAR
index 242f5f79358ae427bb4e2018d2043d97bae28830..75c7061a1ef83d9c98716aacba5feff9e3182a1c 100644 (file)
@@ -803,7 +803,7 @@ int mutt_save_attachment(FILE *fp, struct Body *m, char *path, int flags, struct
         return -1;
       if (!fgets(buf, sizeof(buf), fp))
         return -1;
-      struct Context *ctx = mx_mbox_open(path, MUTT_APPEND | MUTT_QUIET, NULL);
+      struct Context *ctx = mx_mbox_open(path, MUTT_APPEND | MUTT_QUIET);
       if (!ctx)
         return -1;
       msg = mx_msg_open_new(ctx, hn, is_from(buf, NULL, 0, NULL) ? 0 : MUTT_ADD_FROM);
diff --git a/mx.c b/mx.c
index a6b4ad7950218fd539903984cca226bf8ff80606..9618822fed857c53c0b2c405705ead0aba46fa41 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -228,7 +228,6 @@ static int mx_open_mailbox_append(struct Context *ctx, int flags)
  * mx_mbox_open - Open a mailbox and parse it
  * @param path  Path to the mailbox
  * @param flags See below
- * @param pctx  Reuse this Context (if supplied)
  * @retval ptr  Mailbox context
  * @retval NULL Error
  *
@@ -239,23 +238,19 @@ static int mx_open_mailbox_append(struct Context *ctx, int flags)
  * * #MUTT_QUIET    only print error messages
  * * #MUTT_PEEK     revert atime where applicable
  */
-struct Context *mx_mbox_open(const char *path, int flags, struct Context *pctx)
+struct Context *mx_mbox_open(const char *path, int flags)
 {
-  struct Context *ctx = pctx;
-  int rc;
-
   if (!path || !path[0])
     return NULL;
 
-  if (!ctx)
-    ctx = mutt_mem_malloc(sizeof(struct Context));
-  memset(ctx, 0, sizeof(struct Context));
+  int rc;
+
+  struct Context *ctx = mutt_mem_calloc(1, sizeof(*ctx));
 
   ctx->path = mutt_str_strdup(path);
   if (!ctx->path)
   {
-    if (!pctx)
-      FREE(&ctx);
+    FREE(&ctx);
     return NULL;
   }
   ctx->realpath = realpath(ctx->path, NULL);
@@ -280,8 +275,7 @@ struct Context *mx_mbox_open(const char *path, int flags, struct Context *pctx)
     if (mx_open_mailbox_append(ctx, flags) != 0)
     {
       mx_fastclose_mailbox(ctx);
-      if (!pctx)
-        FREE(&ctx);
+      FREE(&ctx);
       return NULL;
     }
     return ctx;
@@ -298,8 +292,7 @@ struct Context *mx_mbox_open(const char *path, int flags, struct Context *pctx)
       mutt_error(_("%s is not a mailbox"), path);
 
     mx_fastclose_mailbox(ctx);
-    if (!pctx)
-      FREE(&ctx);
+    FREE(&ctx);
     return NULL;
   }
 
@@ -335,8 +328,7 @@ struct Context *mx_mbox_open(const char *path, int flags, struct Context *pctx)
   else
   {
     mx_fastclose_mailbox(ctx);
-    if (!pctx)
-      FREE(&ctx);
+    FREE(&ctx);
   }
 
   OptForceRefresh = false;
@@ -467,7 +459,7 @@ static int trash_append(struct Context *ctx)
   }
 #endif
 
-  struct Context *ctx_trash = mx_mbox_open(Trash, MUTT_APPEND, NULL);
+  struct Context *ctx_trash = mx_mbox_open(Trash, MUTT_APPEND);
   if (ctx_trash)
   {
     /* continue from initial scan above */
@@ -648,7 +640,7 @@ int mx_mbox_close(struct Context *ctx, int *index_hint)
     else /* use regular append-copy mode */
 #endif
     {
-      struct Context *f = mx_mbox_open(mbox, MUTT_APPEND, NULL);
+      struct Context *f = mx_mbox_open(mbox, MUTT_APPEND);
       if (!f)
       {
         ctx->closing = false;
diff --git a/mx.h b/mx.h
index 7d44c34021588f1601d38b4914eb7955d5f52b38..f69e3ba68221f6313d4d2539ae462dbef12c2dd2 100644 (file)
--- a/mx.h
+++ b/mx.h
@@ -230,7 +230,7 @@ struct MxOps
 /* Wrappers for the Mailbox API, see MxOps */
 int             mx_mbox_check  (struct Context *ctx, int *index_hint);
 int             mx_mbox_close  (struct Context *ctx, int *index_hint);
-struct Context *mx_mbox_open   (const char *path, int flags, struct Context *pctx);
+struct Context *mx_mbox_open   (const char *path, int flags);
 int             mx_mbox_sync   (struct Context *ctx, int *index_hint);
 int             mx_msg_close   (struct Context *ctx, struct Message **msg);
 int             mx_msg_commit  (struct Context *ctx, struct Message *msg);
index 9ff5fa17f6b0c4ef482054c5fcb8a2a55db47b8a..d39ad4a9ea12c6881ddd0d34a777d284bca23119 100644 (file)
--- a/pop/pop.c
+++ b/pop/pop.c
@@ -968,7 +968,7 @@ void pop_fetch_mail(void)
     goto finish;
   }
 
-  struct Context *ctx = mx_mbox_open(Spoolfile, MUTT_APPEND, NULL);
+  struct Context *ctx = mx_mbox_open(Spoolfile, MUTT_APPEND);
   if (!ctx)
     goto finish;
 
index e2f27454b63d05d054b5d8efe2d4a3a9e778eb89..80a7aee8583aff1c1ffdee7edb1d8215f737b6f0 100644 (file)
@@ -161,7 +161,7 @@ int mutt_num_postponed(bool force)
     if (optnews)
       OptNews = false;
 #endif
-    struct Context *ctx = mx_mbox_open(Postponed, MUTT_NOSORT | MUTT_QUIET, NULL);
+    struct Context *ctx = mx_mbox_open(Postponed, MUTT_NOSORT | MUTT_QUIET);
     if (!ctx)
       PostCount = 0;
     else
@@ -290,7 +290,7 @@ int mutt_get_postponed(struct Context *ctx, struct Header *hdr,
   if (!Postponed)
     return -1;
 
-  PostContext = mx_mbox_open(Postponed, MUTT_NOSORT, NULL);
+  PostContext = mx_mbox_open(Postponed, MUTT_NOSORT);
   if (!PostContext)
   {
     PostCount = 0;
index 7bc944f3d74814aadab131ce4cf9a3212c1adb59..18424d623630eee5bf353ecb1045cb8e9451a440 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
@@ -3176,7 +3176,7 @@ int mutt_write_fcc(const char *path, struct Header *hdr, const char *msgid,
 #ifdef RECORD_FOLDER_HOOK
   mutt_folder_hook(path);
 #endif
-  struct Context *f = mx_mbox_open(path, MUTT_APPEND | MUTT_QUIET, NULL);
+  struct Context *f = mx_mbox_open(path, MUTT_APPEND | MUTT_QUIET);
   if (!f)
   {
     mutt_debug(1, "unable to open mailbox %s in append-mode, aborting.\n", path);