/* <flags> <max_rows> <path> */
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);
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 */
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