From be741f4c5bed8bd94a7bff7ce7466580d8991a80 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 10 May 2017 12:44:25 +0300 Subject: [PATCH] doveadm mailbox status: Add "firstsaved" field. --- doc/man/doveadm-mailbox.1.in | 3 +++ src/doveadm/doveadm-mail-mailbox-status.c | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/man/doveadm-mailbox.1.in b/doc/man/doveadm-mailbox.1.in index 8ff9d435d2..e4650aa99a 100644 --- a/doc/man/doveadm-mailbox.1.in +++ b/doc/man/doveadm-mailbox.1.in @@ -245,6 +245,9 @@ The message sequence number of the first unseen message in the The .IR mailbox \(aqs virtual size, computed with CRLF line terminators. +.TP +.B firstsaved +Saved time of the first mail in the mailbox. .RE .PP .\"------------------------------------------------------------------------ diff --git a/src/doveadm/doveadm-mail-mailbox-status.c b/src/doveadm/doveadm-mail-mailbox-status.c index eb91542f5d..6334cdbfea 100644 --- a/src/doveadm/doveadm-mail-mailbox-status.c +++ b/src/doveadm/doveadm-mail-mailbox-status.c @@ -14,7 +14,8 @@ STATUS_UIDNEXT | STATUS_UIDVALIDITY | \ STATUS_UNSEEN | STATUS_HIGHESTMODSEQ) #define ALL_METADATA_ITEMS \ - (MAILBOX_METADATA_VIRTUAL_SIZE | MAILBOX_METADATA_GUID) + (MAILBOX_METADATA_VIRTUAL_SIZE | MAILBOX_METADATA_GUID | \ + MAILBOX_METADATA_FIRST_SAVE_DATE) #define TOTAL_STATUS_ITEMS \ (STATUS_MESSAGES | STATUS_RECENT | STATUS_UNSEEN) @@ -66,6 +67,8 @@ static void status_parse_fields(struct status_cmd_context *ctx, ctx->metadata_items |= MAILBOX_METADATA_VIRTUAL_SIZE; else if (strcmp(field, "guid") == 0) ctx->metadata_items |= MAILBOX_METADATA_GUID; + else if (strcmp(field, "firstsaved") == 0) + ctx->metadata_items |= MAILBOX_METADATA_FIRST_SAVE_DATE; else { i_fatal_status(EX_USAGE, "Unknown status field: %s", field); @@ -104,6 +107,8 @@ status_output(struct status_cmd_context *ctx, struct mailbox *box, doveadm_print_num(metadata->virtual_size); if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0) doveadm_print(guid_128_to_string(metadata->guid)); + if ((ctx->metadata_items & MAILBOX_METADATA_FIRST_SAVE_DATE) != 0) + doveadm_print_num(metadata->first_save_date); } static void @@ -210,6 +215,8 @@ static void cmd_mailbox_status_init(struct doveadm_mail_cmd_context *_ctx, doveadm_print_header_simple("vsize"); if ((ctx->metadata_items & MAILBOX_METADATA_GUID) != 0) doveadm_print_header_simple("guid"); + if ((ctx->metadata_items & MAILBOX_METADATA_FIRST_SAVE_DATE) != 0) + doveadm_print_header_simple("firstsaved"); } static void cmd_mailbox_status_deinit(struct doveadm_mail_cmd_context *_ctx)