From: Siavash Tavakoli Date: Wed, 26 May 2021 11:15:06 +0000 (+0100) Subject: dict: Drop support for multi-path iteration in dict protocol X-Git-Tag: 2.3.17~388 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cbc81b4471c0280f2e2bc285f79dfdb4739c196b;p=thirdparty%2Fdovecot%2Fcore.git dict: Drop support for multi-path iteration in dict protocol Remove dict_iterate_init_multiple() since it is not used anywhere. Also drop support in dict protocol to read multiple paths. --- diff --git a/src/dict/dict-commands.c b/src/dict/dict-commands.c index 3d585508c9..5752447f15 100644 --- a/src/dict/dict-commands.c +++ b/src/dict/dict-commands.c @@ -358,7 +358,7 @@ static int cmd_iterate(struct dict_connection_cmd *cmd, const char *line) /* */ flags |= DICT_ITERATE_FLAG_ASYNC; event_add_str(cmd->event, "key", args[2]); - cmd->iter = dict_iterate_init_multiple(cmd->conn->dict, args+2, flags); + cmd->iter = dict_iterate_init(cmd->conn->dict, NULL, args[2], flags); cmd->iter_flags = flags; if (max_rows > 0) dict_iterate_set_limit(cmd->iter, max_rows); diff --git a/src/lib-dict/dict.c b/src/lib-dict/dict.c index 414c8cdb35..637b28ef32 100644 --- a/src/lib-dict/dict.c +++ b/src/lib-dict/dict.c @@ -343,23 +343,14 @@ struct dict_iterate_context * dict_iterate_init(struct dict *dict, const struct dict_op_settings *set ATTR_UNUSED, const char *path, enum dict_iterate_flags flags) { + struct dict_iterate_context *ctx; const char *paths[2]; + i_assert(path != NULL); + i_assert(dict_key_prefix_is_valid(path)); + paths[0] = path; paths[1] = NULL; - return dict_iterate_init_multiple(dict, paths, flags); -} - -struct dict_iterate_context * -dict_iterate_init_multiple(struct dict *dict, const char *const *paths, - enum dict_iterate_flags flags) -{ - struct dict_iterate_context *ctx; - unsigned int i; - - i_assert(paths[0] != NULL); - for (i = 0; paths[i] != NULL; i++) - i_assert(dict_key_prefix_is_valid(paths[i])); if (dict->v.iterate_init == NULL) { /* not supported by backend */ diff --git a/src/lib-dict/dict.h b/src/lib-dict/dict.h index 1ac0c635c6..a3eda4052c 100644 --- a/src/lib-dict/dict.h +++ b/src/lib-dict/dict.h @@ -119,9 +119,6 @@ void dict_lookup_async(struct dict *dict, const struct dict_op_settings *set, struct dict_iterate_context * dict_iterate_init(struct dict *dict, const struct dict_op_settings *set, const char *path, enum dict_iterate_flags flags); -struct dict_iterate_context * -dict_iterate_init_multiple(struct dict *dict, const char *const *paths, - enum dict_iterate_flags flags); /* Set async callback. Note that if dict_iterate_init() already did all the work, this callback may never be called. So after dict_iterate_init() you should call dict_iterate() in any case to see if all the results are