From: Timo Sirainen Date: Tue, 21 Sep 2010 14:22:57 +0000 (+0100) Subject: Maildir: If POP3 UIDL is specified for saved message, add it to uidlist. X-Git-Tag: 2.0.4~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ba7881c73ebd367dcca638fbf705920a48a3fe69;p=thirdparty%2Fdovecot%2Fcore.git Maildir: If POP3 UIDL is specified for saved message, add it to uidlist. --- 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)); }