]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: mailbox cache decisions - Fatally fail if fields are missing
authorAki Tuomi <aki.tuomi@dovecot.fi>
Wed, 25 Apr 2018 08:04:08 +0000 (11:04 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 30 Apr 2018 13:01:00 +0000 (16:01 +0300)
src/doveadm/doveadm-mail-mailbox-cache.c

index b109966dd2e20439426e4c08bcc4048b8f39f7ba..090d2543f82b82e5d05f8f9c1495016f665e8909 100644 (file)
@@ -57,11 +57,8 @@ static void cmd_mailbox_cache_decision_init(struct doveadm_mail_cmd_context *_ct
        doveadm_print_header_simple("decision");
        doveadm_print_header_simple("last-used");
 
-       if (!ctx->all_fields && ctx->fields == NULL) {
-               i_error("Missing fields parameter");
-               _ctx->exit_code = EX_USAGE;
-               return;
-       }
+       if (!ctx->all_fields && ctx->fields == NULL)
+               i_fatal("Missing fields parameter");
 
        ctx->boxes = args;
 }
@@ -224,6 +221,9 @@ static int cmd_mailbox_cache_decision_run(struct doveadm_mail_cmd_context *_ctx,
        const char *const *boxname;
        int ret = 0;
 
+       if (_ctx->exit_code != 0)
+               return -1;
+
        for(boxname = ctx->boxes; ret == 0 && *boxname != NULL; boxname++) {
                struct mailbox *box;
                if ((ret = cmd_mailbox_cache_open_box(_ctx, user, *boxname, &box)) < 0)