Mercurial > dovecot > core-2.2
changeset 12554:8afad3c2928d
maildir: Avoid unnecessarily reading uidlist when opening mailbox.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 06 Dec 2010 01:19:25 +0000 |
parents | 4b084f357db1 |
children | b7a8d2a357a8 |
files | src/lib-storage/index/maildir/maildir-sync.c |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/maildir/maildir-sync.c Mon Dec 06 00:43:28 2010 +0000 +++ b/src/lib-storage/index/maildir/maildir-sync.c Mon Dec 06 01:19:25 2010 +0000 @@ -684,16 +684,15 @@ new_changed_r, cur_changed_r) < 0) return -1; - if (have_recent_messages(ctx)) { - if ((mbox->box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) { - *new_changed_r = TRUE; - } else if (*new_changed_r) { - /* we have some recent messages and new/ has changed. - if messages had been externally deleted from new/, - we need to get them out of index. this requires that - we make sure they weren't just moved to cur/. */ - *cur_changed_r = TRUE; - } + if ((mbox->box.flags & MAILBOX_FLAG_KEEP_RECENT) == 0) { + if (!*new_changed_r) + *new_changed_r = have_recent_messages(ctx); + } else if (*new_changed_r) { + /* we have some recent messages and new/ has changed. + if messages had been externally deleted from new/, + we need to get them out of index. this requires that + we make sure they weren't just moved to cur/. */ + *cur_changed_r = have_recent_messages(ctx); } if (*new_changed_r || *cur_changed_r)