Mercurial > dovecot > original-hg > dovecot-1.2
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); }