]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Remove imap_search_seqset_iter_* functions from imap.
authorsergey.kitov <sergey.kitov@open-xchange.com>
Tue, 8 Mar 2022 11:30:20 +0000 (13:30 +0200)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Mon, 28 Mar 2022 15:41:32 +0000 (15:41 +0000)
src/imap/imap-search-args.c
src/imap/imap-search-args.h

index 67e8679a265a2abf503f4179a402c32f946f4fe6..a7e9db0b50f676204bdb3f3fc69686d6bd0d5834 100644 (file)
@@ -268,86 +268,3 @@ void imap_search_add_changed_since(struct mail_search_args *search_args,
        search_arg->next = search_args->args->next;
        search_args->args->next = search_arg;
 }
-
-struct imap_search_seqset_iter {
-       struct mail_search_args *search_args;
-       ARRAY_TYPE(seq_range) seqset_left;
-       unsigned int batch_size;
-};
-
-static void imap_search_seqset_next_batch(struct imap_search_seqset_iter *iter)
-{
-       array_clear(&iter->search_args->args->value.seqset);
-       seq_range_array_merge_n(&iter->search_args->args->value.seqset,
-                               &iter->seqset_left, iter->batch_size);
-}
-
-struct imap_search_seqset_iter *
-imap_search_seqset_iter_init(struct mail_search_args *search_args,
-                            uint32_t messages_count, unsigned int batch_size)
-{
-       struct imap_search_seqset_iter *iter;
-
-       i_assert(search_args->args->next == NULL);
-
-       iter = i_new(struct imap_search_seqset_iter, 1);
-       iter->search_args = search_args;
-       iter->batch_size = batch_size;
-       mail_search_args_ref(iter->search_args);
-
-       switch (search_args->args->type) {
-       case SEARCH_SEQSET:
-       case SEARCH_UIDSET:
-               break;
-       case SEARCH_ALL:
-               if (search_args->args->match_not) {
-                       /* $ used before search result was saved */
-                       return iter;
-               }
-               /* 1:* - convert to seqset */
-               search_args->args->type = SEARCH_SEQSET;
-               p_array_init(&search_args->args->value.seqset,
-                            search_args->pool, 1);
-               seq_range_array_add_range(&search_args->args->value.seqset,
-                                         1, messages_count);
-               break;
-       default:
-               i_panic("Unexpected search_args type %d",
-                       search_args->args->type);
-       }
-
-       i_assert(search_args->args->type == SEARCH_SEQSET ||
-                search_args->args->type == SEARCH_UIDSET);
-
-       i_array_init(&iter->seqset_left,
-                    array_count(&search_args->args->value.seqset));
-       array_append_array(&iter->seqset_left, &search_args->args->value.seqset);
-       imap_search_seqset_next_batch(iter);
-       return iter;
-}
-
-void imap_search_seqset_iter_deinit(struct imap_search_seqset_iter **_iter)
-{
-       struct imap_search_seqset_iter *iter = *_iter;
-
-       if (iter == NULL)
-               return;
-
-       mail_search_args_unref(&iter->search_args);
-       array_free(&iter->seqset_left);
-       i_free(iter);
-}
-
-bool imap_search_seqset_iter_next(struct imap_search_seqset_iter *iter)
-{
-       if (!array_is_created(&iter->seqset_left) ||
-           array_count(&iter->seqset_left) == 0)
-               return FALSE;
-
-       /* remove the last batch of searched mails from seqset_left */
-       if (seq_range_array_remove_seq_range(&iter->seqset_left,
-                       &iter->search_args->args->value.seqset) == 0)
-               i_unreached();
-       imap_search_seqset_next_batch(iter);
-       return array_count(&iter->search_args->args->value.seqset) > 0;
-}
index 4bf6c4ce3e82fd4bb3a502cf5e103d6496e47efa..4bc8c33a728f8f8c90f7cd3ca43682ab227c49ac 100644 (file)
@@ -31,17 +31,4 @@ void imap_search_anyset_to_uidset(struct client_command_context *cmd,
 void imap_search_add_changed_since(struct mail_search_args *search_args,
                                   uint64_t modseq);
 
-/* Iterate search_args in batches of messages. The search_args itself is
-   modified each time imap_search_seqset_iter_next() is called. Note that
-   search_args is expected to come from imap_search_get_anyset(), so it should
-   have a single parameter containing SEARCH_ALL, SEARCH_SEQSET or
-   SEARCH_UIDSET. */
-struct imap_search_seqset_iter *
-imap_search_seqset_iter_init(struct mail_search_args *search_args,
-                            uint32_t messages_count, unsigned int batch_size);
-/* Iterate the next batch. Returns TRUE if the batch was updated, FALSE if
-   all the batches have been iterated. */
-bool imap_search_seqset_iter_next(struct imap_search_seqset_iter *iter);
-void imap_search_seqset_iter_deinit(struct imap_search_seqset_iter **iter);
-
 #endif