Mercurial > dovecot > original-hg > dovecot-1.2
changeset 2599:859dddfed80c HEAD
if there's pending cache_reset in log file make sure appended records don't
have invalid cache_offsets.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 11 Sep 2004 19:14:10 +0300 |
parents | 2568be07706f |
children | 0f7327288390 |
files | src/lib-index/mail-transaction-log.c |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log.c Sat Sep 11 18:40:22 2004 +0300 +++ b/src/lib-index/mail-transaction-log.c Sat Sep 11 19:14:10 2004 +0300 @@ -1044,6 +1044,17 @@ t->cache_updates != NULL) { buffer_free(t->cache_updates); t->cache_updates = NULL; + + if (t->appends != NULL) { + struct mail_index_record *rec; + size_t i, size; + + rec = buffer_get_modifyable_data(t->appends, &size); + size /= sizeof(*rec); + + for (i = 0; i < size; i++) + rec[i].cache_offset = 0; + } } mail_transaction_log_view_close(sync_view);