[dovecot-cvs] dovecot/src/lib-index mail-index-sync-update.c, 1.18, 1.19

cras at procontrol.fi cras at procontrol.fi
Wed May 26 05:40:26 EEST 2004


Update of /home/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv4109/lib-index

Modified Files:
	mail-index-sync-update.c 
Log Message:
fix



Index: mail-index-sync-update.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mail-index-sync-update.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- a/mail-index-sync-update.c	24 May 2004 22:33:51 -0000	1.18
+++ b/mail-index-sync-update.c	26 May 2004 02:40:24 -0000	1.19
@@ -110,21 +110,20 @@
 	}
 
 	if (MAIL_INDEX_MAP_IS_IN_MEMORY(map)) {
-		if (map->records_count * sizeof(*rec) >
-		    buffer_get_used_size(map->buffer)) {
-			(void)buffer_append_space_unsafe(map->buffer,
-							 sizeof(*rec));
-			map->records =
-				buffer_get_modifyable_data(map->buffer, NULL);
-		}
+		i_assert(map->records_count * sizeof(*rec) ==
+			 buffer_get_used_size(map->buffer));
+		buffer_append(map->buffer, rec, sizeof(*rec));
+		map->records = buffer_get_modifyable_data(map->buffer, NULL);
 	} else {
-		i_assert(map->records_count * sizeof(*rec) <= map->mmap_size);
+		i_assert((map->records_count+1) * sizeof(*rec) <=
+			 map->mmap_size);
+		map->records[map->records_count] = *rec;
 	}
 
-	map->records[map->records_count++] = *rec;
 	map->hdr_copy.messages_count++;
 	map->hdr_copy.next_uid = rec->uid+1;
 	view->messages_count++;
+	map->records_count++;
 
 	mail_index_header_update_counts(&map->hdr_copy, 0, rec->flags);
 	mail_index_header_update_lowwaters(&map->hdr_copy, rec);



More information about the dovecot-cvs mailing list