[dovecot-cvs] dovecot/src/lib-storage/index index-sync.c,1.41,1.42

cras at dovecot.org cras at dovecot.org
Wed Nov 24 19:43:54 EET 2004


Update of /var/lib/cvs/dovecot/src/lib-storage/index
In directory talvi:/tmp/cvs-serv6691/lib-storage/index

Modified Files:
	index-sync.c 
Log Message:
recent flag fixes



Index: index-sync.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/index/index-sync.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- index-sync.c	9 Oct 2004 13:54:28 -0000	1.41
+++ index-sync.c	24 Nov 2004 17:43:52 -0000	1.42
@@ -85,19 +85,19 @@
 	count = seq2 - seq1 + 1;
 
 	data = buffer_get_data(ibox->recent_flags, &size);
-	if (idx > size)
-		return;
-	if (idx + count > size)
-		count = size - idx;
+	if (idx < size) {
+		if (idx + count > size)
+			count = size - idx;
 
-	for (i = 0; i < count; i++) {
-		if (data[idx+i])
-			ibox->recent_flags_count--;
-	}
+		for (i = 0; i < count; i++) {
+			if (data[idx+i])
+				ibox->recent_flags_count--;
+		}
 
-	buffer_copy(ibox->recent_flags, idx,
-		    ibox->recent_flags, idx + count, (size_t)-1);
-	buffer_set_used_size(ibox->recent_flags, size - count);
+		buffer_copy(ibox->recent_flags, idx,
+			    ibox->recent_flags, idx + count, (size_t)-1);
+		buffer_set_used_size(ibox->recent_flags, size - count);
+	}
         ibox->recent_flags_start_seq -= move;
 }
 
@@ -246,9 +246,7 @@
 						    ctx->messages_count+1,
 						    messages_count);
 		}
-
-		if (ibox->recent_flags_count != ibox->synced_recent_count)
-			ibox->synced_recent_count = ibox->recent_flags_count;
+		ibox->synced_recent_count = ibox->recent_flags_count;
 
 		ret = index_storage_get_status_locked(ctx->ibox,
 						      SYNC_STATUS_FLAGS,



More information about the dovecot-cvs mailing list