[dovecot-cvs] dovecot/src/lib-storage/index/mbox mbox-sync-update.c, 1.13, 1.14

cras at procontrol.fi cras at procontrol.fi
Fri Jun 18 02:52:52 EEST 2004


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

Modified Files:
	mbox-sync-update.c 
Log Message:
Fixed updating X-IMAPbase



Index: mbox-sync-update.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/mbox/mbox-sync-update.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- mbox-sync-update.c	17 Jun 2004 23:36:52 -0000	1.13
+++ mbox-sync-update.c	17 Jun 2004 23:52:50 -0000	1.14
@@ -22,6 +22,8 @@
 	ssize_t diff = (ssize_t)need - (ssize_t)have;
 	int i;
 
+	i_assert(have < SSIZE_T_MAX);
+
 	if (diff == 0) {
 		if (ctx->header_last_change < pos + have ||
 		    ctx->header_last_change == (size_t)-1)
@@ -226,7 +228,7 @@
 	//FIXME:keywords_append(ctx, all_keywords);
 	str_append_c(str, '\n');
 
-	hdr = str_c(ctx->header);
+	hdr = str_c(ctx->header) + pos;
 	p = strchr(hdr, '\n');
 
 	if (p == NULL) {
@@ -235,8 +237,7 @@
 		str_truncate(ctx->header, pos);
 		str_append_str(ctx->header, str);
 	} else {
-		mbox_sync_move_buffer(ctx, pos, str_len(str),
-				      (p - hdr + 1) - pos);
+		mbox_sync_move_buffer(ctx, pos, str_len(str), p - hdr + 1);
 		buffer_copy(ctx->header, pos, str, 0, (size_t)-1);
 	}
 



More information about the dovecot-cvs mailing list