[dovecot-cvs] dovecot/src/lib-index mail-cache-transaction.c, 1.40,
1.41
cras at dovecot.org
cras at dovecot.org
Fri Apr 8 15:11:37 EEST 2005
Update of /var/lib/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv22095
Modified Files:
mail-cache-transaction.c
Log Message:
buffer -> array
Index: mail-cache-transaction.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-cache-transaction.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -d -r1.40 -r1.41
--- mail-cache-transaction.c 8 Mar 2005 10:12:55 -0000 1.40
+++ mail-cache-transaction.c 8 Apr 2005 12:11:35 -0000 1.41
@@ -19,7 +19,8 @@
uint32_t cache_file_seq;
- buffer_t *cache_data, *cache_data_seq;
+ buffer_t *cache_data;
+ array_t ARRAY_DEFINE(cache_data_seq, uint32_t);
uint32_t prev_seq;
size_t prev_pos;
@@ -65,8 +66,8 @@
if (ctx->cache_data)
buffer_set_used_size(ctx->cache_data, 0);
- if (ctx->cache_data_seq)
- buffer_set_used_size(ctx->cache_data_seq, 0);
+ if (array_is_created(&ctx->cache_data_seq))
+ array_clear(&ctx->cache_data_seq);
ctx->prev_seq = 0;
ctx->prev_pos = 0;
@@ -85,8 +86,8 @@
if (ctx->cache_data != NULL)
buffer_free(ctx->cache_data);
- if (ctx->cache_data_seq != NULL)
- buffer_free(ctx->cache_data_seq);
+ if (array_is_created(&ctx->cache_data_seq))
+ array_free(&ctx->cache_data_seq);
buffer_free(ctx->reservations);
i_free(ctx);
}
@@ -433,8 +434,9 @@
struct mail_cache *cache = ctx->cache;
const struct mail_cache_record *rec, *tmp_rec;
const uint32_t *seq;
- uint32_t write_offset, write_size, rec_pos, seq_idx;
- size_t size, max_size, seq_limit, seq_count;
+ uint32_t write_offset, write_size, rec_pos, seq_idx, seq_limit;
+ size_t size, max_size;
+ unsigned int seq_count;
int ret, commit;
if (MAIL_CACHE_IS_UNUSABLE(cache))
@@ -455,8 +457,7 @@
rec = buffer_get_data(ctx->cache_data, &size);
i_assert(ctx->prev_pos <= size);
- seq = buffer_get_data(ctx->cache_data_seq, &seq_count);
- seq_count /= sizeof(*seq);
+ seq = array_get(&ctx->cache_data_seq, &seq_count);
seq_limit = 0;
for (seq_idx = 0, rec_pos = 0; rec_pos < ctx->prev_pos;) {
@@ -509,7 +510,7 @@
ctx->prev_pos);
ctx->prev_pos = 0;
- buffer_set_used_size(ctx->cache_data_seq, 0);
+ array_clear(&ctx->cache_data_seq);
return 0;
}
@@ -527,12 +528,11 @@
rec->size = size - ctx->prev_pos;
i_assert(rec->size != 0);
- buffer_append(ctx->cache_data_seq, &ctx->prev_seq,
- sizeof(ctx->prev_seq));
+ array_append(&ctx->cache_data_seq, &ctx->prev_seq, 1);
ctx->prev_pos = size;
} else if (ctx->cache_data == NULL) {
- ctx->cache_data = buffer_create_dynamic(system_pool, 32768);
- ctx->cache_data_seq = buffer_create_dynamic(system_pool, 256);
+ ctx->cache_data = buffer_create_dynamic(default_pool, 32768);
+ ARRAY_CREATE(&ctx->cache_data_seq, default_pool, uint32_t, 64);
}
memset(&new_rec, 0, sizeof(new_rec));
More information about the dovecot-cvs
mailing list