changeset 2158:787bbde7ced3 HEAD

Fixed updating X-IMAPbase
author Timo Sirainen <tss@iki.fi>
date Fri, 18 Jun 2004 02:52:50 +0300
parents 4c55020e6b53
children c7616a31589a
files src/lib-storage/index/mbox/mbox-sync-update.c
diffstat 1 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/mbox-sync-update.c	Fri Jun 18 02:36:52 2004 +0300
+++ b/src/lib-storage/index/mbox/mbox-sync-update.c	Fri Jun 18 02:52:50 2004 +0300
@@ -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);
 	}