dovecot-2.2: doveadm dict iter: Added -1 parameter to enable DIC...
dovecot at dovecot.org
dovecot at dovecot.org
Tue May 12 16:45:46 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/04e169b3bfe6
changeset: 18654:04e169b3bfe6
user: Timo Sirainen <tss at iki.fi>
date: Tue May 12 19:43:48 2015 +0300
description:
doveadm dict iter: Added -1 parameter to enable DICT_ITERATE_FLAG_EXACT_KEY
diffstat:
src/doveadm/doveadm-dict.c | 20 +++++++++-----------
1 files changed, 9 insertions(+), 11 deletions(-)
diffs (52 lines):
diff -r fce3e3eef9f0 -r 04e169b3bfe6 src/doveadm/doveadm-dict.c
--- a/src/doveadm/doveadm-dict.c Tue May 12 19:43:25 2015 +0300
+++ b/src/doveadm/doveadm-dict.c Tue May 12 19:43:48 2015 +0300
@@ -12,21 +12,20 @@
static struct dict *
cmd_dict_init_full(int *argc, char **argv[], int own_arg_count, int key_arg_idx,
- doveadm_command_t *cmd, bool *recurse)
+ doveadm_command_t *cmd, enum dict_iterate_flags *iter_flags)
{
- const char *getopt_args = recurse == NULL ? "u:" : "Ru:";
+ const char *getopt_args = iter_flags == NULL ? "u:" : "1Ru:";
struct dict *dict;
const char *error, *username = "";
int c;
- if (recurse != NULL)
- *recurse = FALSE;
-
while ((c = getopt(*argc, *argv, getopt_args)) > 0) {
switch (c) {
+ case '1':
+ *iter_flags |= DICT_ITERATE_FLAG_EXACT_KEY;
+ break;
case 'R':
- i_assert(recurse != NULL);
- *recurse = TRUE;
+ *iter_flags |= DICT_ITERATE_FLAG_RECURSE;
break;
case 'u':
username = optarg;
@@ -155,17 +154,16 @@
{
struct dict *dict;
struct dict_iterate_context *iter;
+ enum dict_iterate_flags iter_flags = 0;
const char *key, *value;
- bool recurse;
- dict = cmd_dict_init_full(&argc, &argv, 1, 0, cmd_dict_iter, &recurse);
+ dict = cmd_dict_init_full(&argc, &argv, 1, 0, cmd_dict_iter, &iter_flags);
doveadm_print_init(DOVEADM_PRINT_TYPE_TAB);
doveadm_print_header_simple("key");
doveadm_print_header_simple("value");
- iter = dict_iterate_init(dict, argv[0],
- recurse ? DICT_ITERATE_FLAG_RECURSE : 0);
+ iter = dict_iterate_init(dict, argv[0], iter_flags);
while (dict_iterate(iter, &key, &value)) {
doveadm_print(key);
doveadm_print(value);
More information about the dovecot-cvs
mailing list