From: Timo Sirainen Date: Fri, 20 Mar 2009 18:05:33 +0000 (-0400) Subject: Added mail_index_sync_get_offsets(). X-Git-Tag: 2.0.alpha1~1038^2~38 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=079f54c97145a0a5daa36c37eead3eae91b67a1e;p=thirdparty%2Fdovecot%2Fcore.git Added mail_index_sync_get_offsets(). --HG-- branch : HEAD --- diff --git a/src/lib-index/mail-index-sync.c b/src/lib-index/mail-index-sync.c index aeebe522f1..17df3aadd5 100644 --- a/src/lib-index/mail-index-sync.c +++ b/src/lib-index/mail-index-sync.c @@ -535,6 +535,15 @@ bool mail_index_sync_have_any(struct mail_index *index, return ret; } +void mail_index_sync_get_offsets(struct mail_index_sync_ctx *ctx, + uint32_t *seq1_r, uoff_t *offset1_r, + uint32_t *seq2_r, uoff_t *offset2_r) +{ + *seq1_r = ctx->view->map->hdr.log_file_seq; + *offset1_r = ctx->view->map->hdr.log_file_tail_offset; + mail_transaction_log_get_head(ctx->view->index->log, seq2_r, offset2_r); +} + static void mail_index_sync_get_expunge(struct mail_index_sync_rec *rec, const struct mail_transaction_expunge *exp) diff --git a/src/lib-index/mail-index.h b/src/lib-index/mail-index.h index 1fe624eb26..dbdfbc5bb1 100644 --- a/src/lib-index/mail-index.h +++ b/src/lib-index/mail-index.h @@ -301,6 +301,10 @@ int mail_index_sync_begin_to(struct mail_index *index, /* Returns TRUE if it currently looks like syncing would return changes. */ bool mail_index_sync_have_any(struct mail_index *index, enum mail_index_sync_flags flags); +/* Returns the log file seq+offsets for the area which this sync is handling. */ +void mail_index_sync_get_offsets(struct mail_index_sync_ctx *ctx, + uint32_t *seq1_r, uoff_t *offset1_r, + uint32_t *seq2_r, uoff_t *offset2_r); /* Returns -1 if error, 0 if sync is finished, 1 if record was filled. */ bool mail_index_sync_next(struct mail_index_sync_ctx *ctx, struct mail_index_sync_rec *sync_rec);