From: Timo Sirainen Date: Wed, 12 May 2010 11:16:16 +0000 (+0200) Subject: imap: Added STATUS (X-VSIZE) command for getting mailbox's virtual size. X-Git-Tag: 2.0.beta6~249 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca0a06a2920402d3c675bdf7a5f35cec6294ce46;p=thirdparty%2Fdovecot%2Fcore.git imap: Added STATUS (X-VSIZE) command for getting mailbox's virtual size. --HG-- branch : HEAD --- diff --git a/src/imap/imap-status.c b/src/imap/imap-status.c index be950778af..58a66b8005 100644 --- a/src/imap/imap-status.c +++ b/src/imap/imap-status.c @@ -36,6 +36,8 @@ int imap_status_parse_items(struct client_command_context *cmd, items |= STATUS_UNSEEN; else if (strcmp(item, "HIGHESTMODSEQ") == 0) items |= STATUS_HIGHESTMODSEQ; + else if (strcmp(item, "X-VSIZE") == 0) + items |= STATUS_VIRTUAL_SIZE; else if (strcmp(item, "X-GUID") == 0) items_r->guid = TRUE; else { @@ -120,6 +122,10 @@ void imap_status_send(struct client *client, const char *mailbox, str_printfa(str, "HIGHESTMODSEQ %llu ", (unsigned long long)status->highest_modseq); } + if ((items->mailbox_items & STATUS_VIRTUAL_SIZE) != 0) { + str_printfa(str, "X-VSIZE %llu ", + (unsigned long long)status->virtual_size); + } if (items->guid) { str_printfa(str, "X-GUID %s ", mail_guid_128_to_string(result->mailbox_guid));