]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: fts_backend_is_uid_indexed() - Flatten the code
authorMarco Bettini <marco.bettini@open-xchange.com>
Thu, 13 Jul 2023 13:51:15 +0000 (13:51 +0000)
committerMarco Bettini <marco.bettini@open-xchange.com>
Tue, 10 Oct 2023 07:13:49 +0000 (07:13 +0000)
src/plugins/fts/fts-api.c

index 9d7bc06323cf2694298913a59d3473e1b979f328..19c47e4649d5e07ba2f6603a4431501d304fd984 100644 (file)
@@ -136,18 +136,19 @@ int fts_backend_get_last_uid(struct fts_backend *backend, struct mailbox *box,
 int fts_backend_is_uid_indexed(struct fts_backend *backend, struct mailbox *box,
                               uint32_t uid, uint32_t *last_indexed_uid_r)
 {
+       if (box->virtual_vfuncs == NULL && backend->v.is_uid_indexed != NULL)
+               return backend->v.is_uid_indexed(backend, box, uid,
+                                                last_indexed_uid_r);
+
        uint32_t last_uid;
+       if (fts_backend_get_last_uid(backend, box, &last_uid) < 0)
+               return -1;
 
-       if (box->virtual_vfuncs != NULL || backend->v.is_uid_indexed == NULL) {
-               if (fts_backend_get_last_uid(backend, box, &last_uid) < 0)
-                       return -1;
-               if (uid > last_uid) {
-                       *last_indexed_uid_r = last_uid;
-                       return 0;
-               }
-               return 1;
+       if (uid > last_uid) {
+               *last_indexed_uid_r = last_uid;
+               return 0;
        }
-       return backend->v.is_uid_indexed(backend, box, uid, last_indexed_uid_r);
+       return 1;
 }
 
 bool fts_backend_is_updating(struct fts_backend *backend)