changeset 6221:01d09f75af4a HEAD

mail_index_map_move_to_memory() lost header extensions.
author Timo Sirainen <tss@iki.fi>
date Tue, 07 Aug 2007 14:16:06 +0300
parents c14b923977e5
children e6b1432e353f
files src/lib-index/mail-index-map.c
diffstat 1 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-index-map.c	Tue Aug 07 13:56:33 2007 +0300
+++ b/src/lib-index/mail-index-map.c	Tue Aug 07 14:16:06 2007 +0300
@@ -864,9 +864,12 @@
 	/* use src->hdr copy directly, because if we got here
 	   from syncing it has the latest changes. */
 	dest->hdr = src->hdr;
-	if (dest->hdr_copy_buf != NULL)
+	if (dest->hdr_copy_buf != NULL) {
+		if (src == dest)
+			return;
+
 		buffer_set_used_size(dest->hdr_copy_buf, 0);
-	else {
+	} else {
 		dest->hdr_copy_buf =
 			buffer_create_dynamic(default_pool,
 					      dest->hdr.header_size);
@@ -880,6 +883,7 @@
 			     src->hdr.header_size - src->hdr.base_header_size);
 	}
 	dest->hdr_base = buffer_get_modifiable_data(dest->hdr_copy_buf, NULL);
+	i_assert(dest->hdr_copy_buf->used == dest->hdr.header_size);
 }
 
 static struct mail_index_record_map *