diff src/lib-index/mbox/mbox-rewrite.c @ 383:652553a9f54c HEAD

minor speedups
author Timo Sirainen <tss@iki.fi>
date Tue, 08 Oct 2002 03:36:04 +0300
parents b0a62e264b22
children 60040a9d243f
line wrap: on
line diff
--- 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 &&