Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6682:53173ab706a0 HEAD
Fixes to MAIL_INDEX_VIEW_SYNC_FLAG_FIX_INCONSISTENT handling.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 03 Nov 2007 22:44:05 +0200 |
parents | b502a4926298 |
children | 196d9e3cb864 |
files | src/lib-index/mail-index-view-sync.c |
diffstat | 1 files changed, 10 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-view-sync.c Sat Nov 03 22:34:21 2007 +0200 +++ b/src/lib-index/mail-index-view-sync.c Sat Nov 03 22:44:05 2007 +0200 @@ -104,6 +104,9 @@ if (quick_sync) { start_seq = end_seq; start_offset = end_offset; + /* we'll just directly to the end */ + view->log_file_head_seq = end_seq; + view->log_file_head_offset = end_offset; } else { start_seq = view->log_file_expunge_seq; start_offset = view->log_file_expunge_offset; @@ -284,15 +287,13 @@ } sync_expunges = (flags & MAIL_INDEX_VIEW_SYNC_FLAG_NOEXPUNGES) == 0; - if (sync_expunges) { - if (quick_sync) - i_array_init(&expunges, 1); - else { - /* get list of all expunges first */ - if (view_sync_get_expunges(view, &expunges, - &expunge_count) < 0) - return -1; - } + if (quick_sync) { + i_assert(sync_expunges); + i_array_init(&expunges, 1); + } else if (sync_expunges) { + /* get list of all expunges first */ + if (view_sync_get_expunges(view, &expunges, &expunge_count) < 0) + return -1; } if (view_sync_set_log_view_range(view, sync_expunges, quick_sync,