From bb59ce7c21eba2886382c1b8055b71f8b2155711 Mon Sep 17 00:00:00 2001 From: Marco Bettini Date: Fri, 26 Sep 2025 13:01:05 +0000 Subject: [PATCH] lib-storage: Add support for struct mailbox_status.deleted --- src/lib-storage/index/index-status.c | 3 +++ src/lib-storage/mail-storage.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/lib-storage/index/index-status.c b/src/lib-storage/index/index-status.c index 0c9064af28..faa1dd953f 100644 --- a/src/lib-storage/index/index-status.c +++ b/src/lib-storage/index/index-status.c @@ -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; diff --git a/src/lib-storage/mail-storage.h b/src/lib-storage/mail-storage.h index e99694eb4e..93480d3daa 100644 --- a/src/lib-storage/mail-storage.h +++ b/src/lib-storage/mail-storage.h @@ -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 */ -- 2.47.3