]> granicus.if.org Git - neomutt/commitdiff
Fix error message when opening a mailbox with no read permission. (closes #3934)
authorRoger Cornelius <rac@tenzing.org>
Wed, 26 Apr 2017 22:40:34 +0000 (15:40 -0700)
committerRichard Russon <rich@flatcap.org>
Fri, 28 Apr 2017 11:06:30 +0000 (12:06 +0100)
ctx->mx_ops ends up being NULL for both the case that ctx->magic is 0
and -1.  This meant the mutt_perror() error message was never being
printed, because the check for ctx->mx_ops == NULL was taking place
first.

Move the "ctx->magic == -1" check first, so mutt will print out an
appropriate perror message in that case.

mx.c

diff --git a/mx.c b/mx.c
index dadcad564697f0fe45cc55f50e91aefc9a3d98ef..086d2d4973ed3d4b6baff5c847a2710b517910b2 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -641,10 +641,10 @@ CONTEXT *mx_open_mailbox(const char *path, int flags, CONTEXT *pctx)
 
   if (ctx->magic <= 0 || !ctx->mx_ops)
   {
-    if (ctx->magic == 0 || !ctx->mx_ops)
-      mutt_error(_("%s is not a mailbox."), path);
-    else if (ctx->magic == -1)
+    if (ctx->magic == -1)
       mutt_perror(path);
+    else if (ctx->magic == 0 || !ctx->mx_ops)
+      mutt_error(_("%s is not a mailbox."), path);
 
     mx_fastclose_mailbox(ctx);
     if (!pctx)