Skip to content

Commit

Permalink
doveadm mailbox status: Add "firstsaved" field.
Browse files Browse the repository at this point in the history
  • Loading branch information
sirainen authored and villesavolainen committed May 15, 2017
1 parent 962cc84 commit be741f4
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
3 changes: 3 additions & 0 deletions doc/man/doveadm-mailbox.1.in
Expand Up @@ -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
.\"------------------------------------------------------------------------
Expand Down
9 changes: 8 additions & 1 deletion src/doveadm/doveadm-mail-mailbox-status.c
Expand Up @@ -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)
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit be741f4

Please sign in to comment.