]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Add support for struct mailbox_status.deleted
authorMarco Bettini <marco.bettini@open-xchange.com>
Fri, 26 Sep 2025 13:01:05 +0000 (13:01 +0000)
committertimo.sirainen <timo.sirainen@open-xchange.com>
Fri, 24 Oct 2025 17:25:58 +0000 (17:25 +0000)
src/lib-storage/index/index-status.c
src/lib-storage/mail-storage.h

index 0c9064af28c088774332687f0fc7e644a572233d..faa1dd953ff2d44384cb417a5ebec932995c2dac 100644 (file)
@@ -117,6 +117,9 @@ void index_storage_get_open_status(struct mailbox *box,
                        status_r->unseen = index_storage_count_pvt_unseen(box);
                }
        }
+       if ((items & STATUS_DELETED) != 0)
+               status_r->deleted = hdr->deleted_messages_count;
+
        status_r->uidvalidity = hdr->uid_validity;
        status_r->uidnext = hdr->next_uid;
        status_r->first_recent_uid = hdr->first_recent_uid;
index e99694eb4e7892c08d04ba24498386ebdbbd94a9..93480d3daac0c07c24932d7bb5568df0297686e2 100644 (file)
@@ -118,6 +118,7 @@ enum mailbox_status_items {
        STATUS_FTS_LAST_INDEXED_UID     = 0x800,
        STATUS_CHECK_OVER_QUOTA         = 0x1000, /* return error if over quota */
        STATUS_HIGHESTPVTMODSEQ         = 0x2000,
+       STATUS_DELETED                  = 0x4000,
        /* status items that must not be looked up with
           mailbox_get_open_status(), because they can return failure. */
 #define MAILBOX_STATUS_FAILING_ITEMS \
@@ -265,6 +266,7 @@ struct mailbox_status {
        uint32_t messages; /* STATUS_MESSAGES */
        uint32_t recent; /* STATUS_RECENT */
        uint32_t unseen; /* STATUS_UNSEEN */
+       uint32_t deleted; /* STATUS_DELETED */
 
        uint32_t uidvalidity; /* STATUS_UIDVALIDITY */
        uint32_t uidnext; /* STATUS_UIDNEXT */