Mercurial > dovecot > original-hg > dovecot-1.2
changeset 2890:10d88ed22df0 HEAD
recent flag fixes
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Wed, 24 Nov 2004 19:43:52 +0200 |
parents | 51982771ba4c |
children | aad29dd2c1c5 |
files | src/lib-storage/index/index-sync.c |
diffstat | 1 files changed, 12 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/index-sync.c Wed Nov 24 19:32:06 2004 +0200 +++ b/src/lib-storage/index/index-sync.c Wed Nov 24 19:43:52 2004 +0200 @@ -85,19 +85,19 @@ count = seq2 - seq1 + 1; data = buffer_get_data(ibox->recent_flags, &size); - if (idx > size) - return; - if (idx + count > size) - count = size - idx; + if (idx < size) { + if (idx + count > size) + count = size - idx; - for (i = 0; i < count; i++) { - if (data[idx+i]) - ibox->recent_flags_count--; + for (i = 0; i < count; i++) { + if (data[idx+i]) + ibox->recent_flags_count--; + } + + buffer_copy(ibox->recent_flags, idx, + ibox->recent_flags, idx + count, (size_t)-1); + buffer_set_used_size(ibox->recent_flags, size - count); } - - buffer_copy(ibox->recent_flags, idx, - ibox->recent_flags, idx + count, (size_t)-1); - buffer_set_used_size(ibox->recent_flags, size - count); ibox->recent_flags_start_seq -= move; } @@ -246,9 +246,7 @@ ctx->messages_count+1, messages_count); } - - if (ibox->recent_flags_count != ibox->synced_recent_count) - ibox->synced_recent_count = ibox->recent_flags_count; + ibox->synced_recent_count = ibox->recent_flags_count; ret = index_storage_get_status_locked(ctx->ibox, SYNC_STATUS_FLAGS,