dovecot-1.0: maildir_uidlist_sync_init() was called wrong, altho...
dovecot at dovecot.org
dovecot at dovecot.org
Sat Dec 1 09:25:43 EET 2007
details: http://hg.dovecot.org/dovecot-1.0/rev/b63f48fbeb2a
changeset: 5471:b63f48fbeb2a
user: Timo Sirainen <tss at iki.fi>
date: Sat Dec 01 09:25:39 2007 +0200
description:
maildir_uidlist_sync_init() was called wrong, although it just happened to
work.
diffstat:
4 files changed, 8 insertions(+), 8 deletions(-)
src/lib-storage/index/maildir/maildir-save.c | 3 ++-
src/lib-storage/index/maildir/maildir-sync.c | 4 +++-
src/lib-storage/index/maildir/maildir-uidlist.c | 6 ++----
src/lib-storage/index/maildir/maildir-uidlist.h | 3 +--
diffs (63 lines):
diff -r 78fd6c834a29 -r b63f48fbeb2a src/lib-storage/index/maildir/maildir-save.c
--- a/src/lib-storage/index/maildir/maildir-save.c Wed Nov 28 17:46:37 2007 +0200
+++ b/src/lib-storage/index/maildir/maildir-save.c Sat Dec 01 09:25:39 2007 +0200
@@ -501,7 +501,8 @@ int maildir_transaction_save_commit_pre(
i_assert(ctx->output == NULL);
i_assert(ctx->finished);
- if (maildir_uidlist_sync_init(ctx->mbox->uidlist, TRUE,
+ if (maildir_uidlist_sync_init(ctx->mbox->uidlist,
+ MAILDIR_UIDLIST_SYNC_PARTIAL,
&ctx->uidlist_sync_ctx) <= 0) {
/* error or timeout - our transaction is broken */
maildir_transaction_save_rollback(ctx);
diff -r 78fd6c834a29 -r b63f48fbeb2a src/lib-storage/index/maildir/maildir-sync.c
--- a/src/lib-storage/index/maildir/maildir-sync.c Wed Nov 28 17:46:37 2007 +0200
+++ b/src/lib-storage/index/maildir/maildir-sync.c Sat Dec 01 09:25:39 2007 +0200
@@ -1349,6 +1349,7 @@ static int maildir_sync_context(struct m
static int maildir_sync_context(struct maildir_sync_context *ctx, bool forced,
bool sync_last_commit)
{
+ enum maildir_uidlist_sync_flags sync_flags;
bool new_changed, cur_changed, full_rescan = FALSE;
int ret;
@@ -1412,7 +1413,8 @@ static int maildir_sync_context(struct m
*/
ctx->partial = !cur_changed;
- ret = maildir_uidlist_sync_init(ctx->mbox->uidlist, ctx->partial,
+ sync_flags = ctx->partial ? MAILDIR_UIDLIST_SYNC_PARTIAL : 0;
+ ret = maildir_uidlist_sync_init(ctx->mbox->uidlist, sync_flags,
&ctx->uidlist_sync_ctx);
if (ret <= 0) {
/* failure / timeout. if forced is TRUE, we could still go
diff -r 78fd6c834a29 -r b63f48fbeb2a src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c Wed Nov 28 17:46:37 2007 +0200
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c Sat Dec 01 09:25:39 2007 +0200
@@ -996,10 +996,8 @@ static void maildir_uidlist_assign_uids(
size /= sizeof(*rec_p);
/* sort new files and assign UIDs for them */
- if ((ctx->sync_flags & MAILDIR_UIDLIST_SYNC_ORDERED) == 0) {
- qsort(rec_p + first_new_pos, size - first_new_pos,
- sizeof(*rec_p), maildir_time_cmp);
- }
+ qsort(rec_p + first_new_pos, size - first_new_pos,
+ sizeof(*rec_p), maildir_time_cmp);
for (dest = first_new_pos; dest < size; dest++) {
i_assert(rec_p[dest]->uid == (uint32_t)-1);
rec_p[dest]->uid = ctx->uidlist->next_uid++;
diff -r 78fd6c834a29 -r b63f48fbeb2a src/lib-storage/index/maildir/maildir-uidlist.h
--- a/src/lib-storage/index/maildir/maildir-uidlist.h Wed Nov 28 17:46:37 2007 +0200
+++ b/src/lib-storage/index/maildir/maildir-uidlist.h Sat Dec 01 09:25:39 2007 +0200
@@ -6,8 +6,7 @@ struct maildir_uidlist_sync_ctx;
struct maildir_uidlist_sync_ctx;
enum maildir_uidlist_sync_flags {
- MAILDIR_UIDLIST_SYNC_PARTIAL = 0x01,
- MAILDIR_UIDLIST_SYNC_ORDERED = 0x02
+ MAILDIR_UIDLIST_SYNC_PARTIAL = 0x01
};
enum maildir_uidlist_rec_flag {
More information about the dovecot-cvs
mailing list