dovecot-2.0: lib-index: Fixed reading mailbox logs larger than 1...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Jul 19 17:09:57 EEST 2010
details: http://hg.dovecot.org/dovecot-2.0/rev/204eaf35e144
changeset: 11857:204eaf35e144
user: Timo Sirainen <tss at iki.fi>
date: Mon Jul 19 15:09:53 2010 +0100
description:
lib-index: Fixed reading mailbox logs larger than 128 records.
diffstat:
src/lib-index/mailbox-log.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diffs (25 lines):
diff -r e4d870bed095 -r 204eaf35e144 src/lib-index/mailbox-log.c
--- a/src/lib-index/mailbox-log.c Mon Jul 19 14:54:36 2010 +0100
+++ b/src/lib-index/mailbox-log.c Mon Jul 19 15:09:53 2010 +0100
@@ -244,8 +244,10 @@
if (!mailbox_log_iter_open_next(iter))
return NULL;
iter->idx = iter->count = 0;
+ iter->offset = 0;
return mailbox_log_iter_next(iter);
}
+ iter->idx = 0;
iter->count = ret / sizeof(iter->buf[0]);
iter->offset += iter->count * sizeof(iter->buf[0]);
}
@@ -254,8 +256,8 @@
rec->type > MAILBOX_LOG_RECORD_UNSUBSCRIBE) {
offset = iter->offset -
(iter->count - iter->idx) * sizeof(iter->buf[0]);
- i_error("Corrupted mailbox log at offset %"PRIuUOFF_T": %s",
- offset, iter->filepath);
+ i_error("Corrupted mailbox log %s at offset %"PRIuUOFF_T": "
+ "type=%d", iter->filepath, offset, rec->type);
if (unlink(iter->filepath) < 0)
i_error("unlink(%s) failed: %m", iter->filepath);
return NULL;
More information about the dovecot-cvs
mailing list