From ba7881c73ebd367dcca638fbf705920a48a3fe69 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 21 Sep 2010 15:22:57 +0100 Subject: [PATCH] Maildir: If POP3 UIDL is specified for saved message, add it to uidlist. --- src/lib-storage/index/maildir/maildir-save.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib-storage/index/maildir/maildir-save.c b/src/lib-storage/index/maildir/maildir-save.c index 88e610c1f5..a705d6e97d 100644 --- a/src/lib-storage/index/maildir/maildir-save.c +++ b/src/lib-storage/index/maildir/maildir-save.c @@ -29,6 +29,7 @@ struct maildir_filename { struct maildir_filename *next; const char *tmp_name, *dest_basename; + const char *pop3_uidl; uoff_t size, vsize; enum mail_flags flags; @@ -179,6 +180,8 @@ void maildir_save_add(struct mail_save_context *_ctx, const char *base_fname, sizeof(unsigned int) * keyword_count); ctx->have_keywords = TRUE; } + if (_ctx->pop3_uidl != NULL) + mf->pop3_uidl = p_strdup(ctx->pool, _ctx->pop3_uidl); /* insert into index */ mail_index_append(ctx->trans, _ctx->uid, &ctx->seq); @@ -855,6 +858,11 @@ static void maildir_save_sync_uidlist(struct maildir_save_context *ctx) maildir_uidlist_sync_set_ext(ctx->uidlist_sync_ctx, rec, MAILDIR_UIDLIST_REC_EXT_GUID, mf->tmp_name); } + if (mf->pop3_uidl != NULL) { + maildir_uidlist_sync_set_ext(ctx->uidlist_sync_ctx, rec, + MAILDIR_UIDLIST_REC_EXT_POP3_UIDL, + mf->pop3_uidl); + } } T_END; i_assert(!seq_range_array_iter_nth(&iter, n, &uid)); } -- 2.47.3