]> 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)
committerRoger Cornelius <rac@tenzing.org>
Wed, 26 Apr 2017 22:40:34 +0000 (15:40 -0700)
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 5e61798cff49bc618b45e3047d19bd641125b5b9..21f38faeb7b211051083a9596caee77554431663 100644 (file)
--- a/mx.c
+++ b/mx.c
@@ -601,10 +601,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)