]> 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)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Fri, 27 Apr 2018 06:19:02 +0000 (09:19 +0300)
src/doveadm/doveadm-mail-mailbox-cache.c

index 14085f26c780dafb209a6dd05742f9a973323cd0..12d6454e0eaaae6a6c2e5e02b1453aedd95f5997 100644 (file)
@@ -60,9 +60,7 @@ static void cmd_mailbox_cache_decision_init(struct doveadm_mail_cmd_context *_ct
 
        if (!ctx->all_fields &&
            !doveadm_cmd_param_str(_ctx->cctx, "fieldstr", &fields)) {
-               i_error("Missing fields parameter");
-               _ctx->exit_code = EX_USAGE;
-               return;
+               i_fatal("Missing fields parameter");
        } else if (!ctx->all_fields) {
                ctx->fields = t_strsplit_spaces(fields, ", ");
        }
@@ -226,6 +224,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)