diff src/lib-index/mail-cache-compress.c @ 2299:ef0cd18d674c HEAD

Fixed compression.
author Timo Sirainen <tss@iki.fi>
date Fri, 09 Jul 2004 00:27:22 +0300
parents 5beb0c20b6e8
children 7d02e2a7672d
line wrap: on
line diff
--- a/src/lib-index/mail-cache-compress.c	Thu Jul 08 23:26:15 2004 +0300
+++ b/src/lib-index/mail-cache-compress.c	Fri Jul 09 00:27:22 2004 +0300
@@ -184,13 +184,16 @@
 			}
 		}
 
-		if (buffer_get_used_size(ctx.buffer) == sizeof(cache_rec))
+		cache_rec.size = buffer_get_used_size(ctx.buffer);
+		if (cache_rec.size == sizeof(cache_rec))
 			continue;
 
 		mail_index_update_cache(t, seq, hdr.file_seq,
 					output->offset, &old_offset);
+
+		buffer_write(ctx.buffer, 0, &cache_rec, sizeof(cache_rec));
 		o_stream_send(output, buffer_get_data(ctx.buffer, NULL),
-			      buffer_get_used_size(ctx.buffer));
+			      cache_rec.size);
 	}
 	hdr.used_file_size = output->offset;
 	buffer_free(ctx.buffer);
@@ -209,7 +212,7 @@
 		return -1;
 	}
 
-	if (output->offset < MAIL_CACHE_INITIAL_SIZE) {
+	if (hdr.used_file_size < MAIL_CACHE_INITIAL_SIZE) {
 		/* grow the file some more. doesn't matter if it fails */
 		(void)file_set_size(fd, MAIL_CACHE_INITIAL_SIZE);
 	}