Mercurial > dovecot > core-2.2
changeset 383:652553a9f54c HEAD
minor speedups
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 08 Oct 2002 03:36:04 +0300 |
parents | d1f925376da7 |
children | 6b5814fd9e7d |
files | src/lib-index/mbox/mbox-index.c src/lib-index/mbox/mbox-rewrite.c |
diffstat | 2 files changed, 16 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mbox/mbox-index.c Mon Oct 07 18:18:59 2002 +0300 +++ b/src/lib-index/mbox/mbox-index.c Tue Oct 08 03:36:04 2002 +0300 @@ -228,7 +228,7 @@ case 'C': case 'c': - if (name_len == 14 && + if (name_len == 14 && ctx->set_read_limit && strncasecmp(name, "Content-Length", 14) == 0) { /* manual parsing, so we can deal with uoff_t */ ctx->content_length = 0;
--- a/src/lib-index/mbox/mbox-rewrite.c Mon Oct 07 18:18:59 2002 +0300 +++ b/src/lib-index/mbox/mbox-rewrite.c Tue Oct 08 03:36:04 2002 +0300 @@ -454,17 +454,22 @@ failed = FALSE; seq = 1; rec = index->lookup(index, 1); while (rec != NULL) { - /* get offset to beginning of mail headers */ - if (!mbox_mail_get_start_offset(index, rec, &offset)) { - /* fsck should have fixed it */ - failed = TRUE; - break; - } + if (dirty_found || (rec->index_flags & INDEX_MAIL_FLAG_DIRTY)) { + /* get offset to beginning of mail headers */ + if (!mbox_mail_get_start_offset(index, rec, &offset)) { + /* fsck should have fixed it */ + failed = TRUE; + break; + } - if (offset + rec->header_size + rec->body_size > inbuf->size) { - index_set_corrupted(index, "Invalid message size"); - failed = TRUE; - break; + if (offset + rec->header_size + rec->body_size > inbuf->size) { + index_set_corrupted(index, + "Invalid message size"); + failed = TRUE; + break; + } + } else { + offset = 0; } if (!dirty_found &&