]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: fts_search_get_first_missing_uid() - Avoid using box->view as now it can be...
authorMarco Bettini <marco.bettini@open-xchange.com>
Thu, 24 Aug 2023 12:28:57 +0000 (12:28 +0000)
committerMarco Bettini <marco.bettini@open-xchange.com>
Tue, 10 Oct 2023 08:04:41 +0000 (08:04 +0000)
src/plugins/fts/fts-search.c

index 14992ebe26068315dc12f983f0831d2470101d10..5cc7388cf49471fef616eca7cdc31bf5455d3b66 100644 (file)
@@ -342,13 +342,12 @@ int fts_search_get_first_missing_uid(struct fts_backend *backend,
                                     struct mailbox *box,
                                     uint32_t *last_indexed_uid_r)
 {
-       uint32_t messages_count = mail_index_view_get_messages_count(box->view);
-       uint32_t uid, last_indexed_uid;
-
-       if (messages_count == 0)
-               return 1;
+       struct mailbox_status status;
+       if (fts_mailbox_get_status(box, STATUS_UIDNEXT, &status) < 0)
+               return -1;
 
-       mail_index_lookup_uid(box->view, messages_count, &uid);
+       uint32_t uid = status.uidnext > 1 ? status.uidnext - 1 : 1;
+       uint32_t last_indexed_uid;
        for (bool refreshed = FALSE;; refreshed = TRUE) {
                int ret = fts_backend_is_uid_indexed(backend, box, uid,
                                                     &last_indexed_uid);