From: Timo Sirainen Date: Wed, 2 Sep 2015 16:41:23 +0000 (+0300) Subject: doveadm dict iter: Added -V parameter to return only keys. X-Git-Tag: 2.2.19.rc1~124 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=efa1a91c5eb82e49edb00b4a194f6fc11de5641c;p=thirdparty%2Fdovecot%2Fcore.git doveadm dict iter: Added -V parameter to return only keys. --- diff --git a/src/doveadm/doveadm-dict.c b/src/doveadm/doveadm-dict.c index e4176e0cb3..b4951e29b6 100644 --- a/src/doveadm/doveadm-dict.c +++ b/src/doveadm/doveadm-dict.c @@ -14,7 +14,7 @@ static struct dict * cmd_dict_init_full(int *argc, char **argv[], int own_arg_count, int key_arg_idx, doveadm_command_t *cmd, enum dict_iterate_flags *iter_flags) { - const char *getopt_args = iter_flags == NULL ? "u:" : "1Ru:"; + const char *getopt_args = iter_flags == NULL ? "u:" : "1Ru:V"; struct dict *dict; const char *error, *username = ""; int c; @@ -29,6 +29,10 @@ cmd_dict_init_full(int *argc, char **argv[], int own_arg_count, int key_arg_idx, i_assert(iter_flags != NULL); *iter_flags |= DICT_ITERATE_FLAG_RECURSE; break; + case 'V': + i_assert(iter_flags != NULL); + *iter_flags |= DICT_ITERATE_FLAG_NO_VALUE; + break; case 'u': username = optarg; break; @@ -163,12 +167,14 @@ static void cmd_dict_iter(int argc, char *argv[]) doveadm_print_init(DOVEADM_PRINT_TYPE_TAB); doveadm_print_header_simple("key"); - doveadm_print_header_simple("value"); + if ((iter_flags & DICT_ITERATE_FLAG_NO_VALUE) == 0) + doveadm_print_header_simple("value"); iter = dict_iterate_init(dict, argv[0], iter_flags); while (dict_iterate(iter, &key, &value)) { doveadm_print(key); - doveadm_print(value); + if ((iter_flags & DICT_ITERATE_FLAG_NO_VALUE) == 0) + doveadm_print(value); } if (dict_iterate_deinit(&iter) < 0) { i_error("dict_iterate_deinit(%s) failed", argv[0]); @@ -182,7 +188,7 @@ struct doveadm_cmd doveadm_cmd_dict[] = { { cmd_dict_set, "dict set", "[-u ] " }, { cmd_dict_unset, "dict unset", "[-u ] " }, { cmd_dict_inc, "dict inc", "[-u ] " }, - { cmd_dict_iter, "dict iter", "[-u ] [-R] " } + { cmd_dict_iter, "dict iter", "[-u ] [-1RV] " } }; static void dict_cmd_help(doveadm_command_t *cmd)