]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
doveadm: Support building ARRAY type mail command parameters
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 10 Jun 2021 13:56:06 +0000 (16:56 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Wed, 21 Jul 2021 09:03:09 +0000 (09:03 +0000)
src/doveadm/doveadm-mail.c

index f25827c5dfe680478ab6cc175cd9315b5ff1f601..23d845b6ce97326000db871ee68f4756d4bc8ef2 100644 (file)
@@ -1015,6 +1015,18 @@ static int doveadm_cmd_parse_arg(struct doveadm_mail_cmd_context *mctx,
        case CMD_PARAM_STR:
                arg_value = arg->value.v_string;
                break;
+       case CMD_PARAM_ARRAY: {
+               const char *str;
+
+               array_foreach_elem(&arg->value.v_array, str) {
+                       optarg = (char *)str;
+                       if (!mctx->v.parse_arg(mctx, arg->short_opt))
+                               return -1;
+                       array_push_back(full_args, &short_opt_str);
+                       array_push_back(full_args, &str);
+               }
+               return 0;
+       }
        default:
                i_panic("Cannot convert parameter %s to short opt", arg->name);
        }