[dovecot-cvs] dovecot/src/lib-storage/index/mbox mbox-sync-parse.c, 1.18, 1.19

cras at procontrol.fi cras at procontrol.fi
Tue Jun 29 16:18:23 EEST 2004


Update of /home/cvs/dovecot/src/lib-storage/index/mbox
In directory talvi:/tmp/cvs-serv7865/lib-storage/index/mbox

Modified Files:
	mbox-sync-parse.c 
Log Message:
no_partial_rewrite was incorrectly set always



Index: mbox-sync-parse.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- mbox-sync-parse.c	28 Jun 2004 21:32:29 -0000	1.18
+++ mbox-sync-parse.c	29 Jun 2004 13:18:21 -0000	1.19
@@ -382,18 +382,20 @@
 			line_start_pos = str_len(ctx->header);
 			str_append(ctx->header, hdr->name);
 			str_append(ctx->header, ": ");
-		}
 
-		if (ctx->header_first_change == (size_t)-1 &&
-		    hdr->full_value_offset != str_len(ctx->header)) {
-			/* whitespaces around ':' are non-standard. either
-			   there's whitespace before ':' or none after.
-			   if we're going to rewrite this message, we can't
-			   do it partially from here after as offsets won't
-			   match. this shouldn't happen pretty much ever, so
-			   don't try to optimize this - just rewrite the whole
-			   thing. */
-			ctx->no_partial_rewrite = TRUE;
+			if (ctx->header_first_change == (size_t)-1 &&
+			    hdr->full_value_offset - hdr->name_offset !=
+			    str_len(ctx->header) - line_start_pos) {
+				/* whitespaces around ':' are non-standard.
+				   either there's whitespace before ':' or none
+				   after. if we're going to rewrite this
+				   message, we can't do it partially from here
+				   after as offsets won't match. this shouldn't
+				   happen pretty much ever, so don't try to
+				   optimize this - just rewrite the whole
+				   thing. */
+				ctx->no_partial_rewrite = TRUE;
+			}
 		}
 
 		func = header_func_find(hdr->name);



More information about the dovecot-cvs mailing list