[dovecot-cvs]
dovecot/src/lib-index mail-index-view-private.h, 1.18,
1.19 mail-index-view-sync.c, 1.43, 1.44 mail-index-view.c,
1.36, 1.37
cras at dovecot.org
cras at dovecot.org
Fri Jan 6 17:25:49 EET 2006
- Previous message: [dovecot-cvs] dovecot/src/lib-storage/index index-sync.c,1.49,1.50
- Next message: [dovecot-cvs]
dovecot/src/lib-index mail-index-view-private.h, 1.19,
1.20 mail-index-view-sync.c, 1.44, 1.45 mail-index-view.c,
1.37, 1.38 mail-index.c, 1.213, 1.214 mail-index.h, 1.152,
1.153 mail-transaction-log-append.c, 1.13, 1.14
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /var/lib/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv29941/lib-index
Modified Files:
mail-index-view-private.h mail-index-view-sync.c
mail-index-view.c
Log Message:
Converted some buffers to arrays.
Index: mail-index-view-private.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-view-private.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- mail-index-view-private.h 5 Feb 2005 18:05:25 -0000 1.18
+++ mail-index-view-private.h 6 Jan 2006 15:25:46 -0000 1.19
@@ -36,13 +36,13 @@
unsigned int indexid;
struct mail_index_map *map;
struct mail_index_map *new_map;
- buffer_t *map_refs;
+ array_t ARRAY_DEFINE(map_refs, struct mail_index_map *);
struct mail_index_header hdr;
uint32_t log_file_seq;
uoff_t log_file_offset;
- buffer_t *log_syncs;
+ array_t ARRAY_DEFINE(log_syncs, struct mail_index_view_log_sync_pos);
int transactions;
unsigned int lock_id;
Index: mail-index-view-sync.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-view-sync.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- mail-index-view-sync.c 4 Jul 2005 11:32:20 -0000 1.43
+++ mail-index-view-sync.c 6 Jan 2006 15:25:46 -0000 1.44
@@ -255,17 +255,16 @@
static int view_is_transaction_synced(struct mail_index_view *view,
uint32_t seq, uoff_t offset)
{
- const struct mail_index_view_log_sync_pos *pos, *end;
- size_t size;
+ const struct mail_index_view_log_sync_pos *pos;
+ unsigned int i, count;
- if (view->log_syncs == NULL)
+ if (!array_is_created(&view->log_syncs))
return 0;
- pos = buffer_get_data(view->log_syncs, &size);
- end = CONST_PTR_OFFSET(pos, size);
-
- for (; pos != end; pos++) {
- if (pos->log_file_offset == offset && pos->log_file_seq == seq)
+ pos = array_get(&view->log_syncs, &count);
+ for (i = 0; i < count; i++) {
+ if (pos[i].log_file_offset == offset &&
+ pos[i].log_file_seq == seq)
return 1;
}
@@ -450,8 +449,8 @@
if (ctx->sync_map_update)
mail_index_sync_map_deinit(&ctx->sync_map_ctx);
- if (view->log_syncs != NULL && !ctx->skipped_some)
- buffer_set_used_size(view->log_syncs, 0);
+ if (array_is_created(&view->log_syncs) && !ctx->skipped_some)
+ array_clear(&view->log_syncs);
if (!ctx->last_read && ctx->hdr != NULL &&
ctx->data_offset != ctx->hdr->size) {
@@ -484,13 +483,14 @@
uint32_t log_file_seq,
uoff_t log_file_offset)
{
- struct mail_index_view_log_sync_pos pos;
+ struct mail_index_view_log_sync_pos *pos;
- memset(&pos, 0, sizeof(pos));
- pos.log_file_seq = log_file_seq;
- pos.log_file_offset = log_file_offset;
+ if (!array_is_created(&view->log_syncs)) {
+ ARRAY_CREATE(&view->log_syncs, default_pool,
+ struct mail_index_view_log_sync_pos, 32);
+ }
- if (view->log_syncs == NULL)
- view->log_syncs = buffer_create_dynamic(default_pool, 128);
- buffer_append(view->log_syncs, &pos, sizeof(pos));
+ pos = array_append_space(&view->log_syncs);
+ pos->log_file_seq = log_file_seq;
+ pos->log_file_offset = log_file_offset;
}
Index: mail-index-view.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-view.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -d -r1.36 -r1.37
--- mail-index-view.c 4 Jul 2005 11:32:20 -0000 1.36
+++ mail-index-view.c 6 Jan 2006 15:25:46 -0000 1.37
@@ -36,12 +36,13 @@
mail_index_view_unlock(view);
mail_transaction_log_view_close(view->log_view);
- if (view->log_syncs != NULL)
- buffer_free(view->log_syncs);
+ if (array_is_created(&view->log_syncs))
+ array_free(&view->log_syncs);
mail_index_unmap(view->index, view->map);
- mail_index_view_unref_maps(view);
- if (view->map_refs != NULL)
- buffer_free(view->map_refs);
+ if (array_is_created(&view->map_refs)) {
+ mail_index_view_unref_maps(view);
+ array_free(&view->map_refs);
+ }
i_free(view);
}
@@ -123,40 +124,39 @@
static void mail_index_view_ref_map(struct mail_index_view *view,
struct mail_index_map *map)
{
- const struct mail_index_map *const *maps;
- size_t i, size;
+ struct mail_index_map *const *maps;
+ unsigned int i, count;
- if (view->map_refs != NULL) {
- maps = buffer_get_data(view->map_refs, &size);
- size /= sizeof(*maps);
+ if (array_is_created(&view->map_refs)) {
+ maps = array_get(&view->map_refs, &count);
- for (i = 0; i < size; i++) {
+ /* if map is already referenced, do nothing */
+ for (i = 0; i < count; i++) {
if (maps[i] == map)
return;
}
} else {
- view->map_refs = buffer_create_dynamic(default_pool, 128);
+ ARRAY_CREATE(&view->map_refs, default_pool,
+ struct mail_index_map *, 4);
}
map->refcount++;
- buffer_append(view->map_refs, &map, sizeof(map));
+ array_append(&view->map_refs, &map, 1);
}
void mail_index_view_unref_maps(struct mail_index_view *view)
{
struct mail_index_map *const *maps;
- size_t i, size;
+ unsigned int i, count;
- if (view->map_refs == NULL)
+ if (!array_is_created(&view->map_refs))
return;
- maps = buffer_get_data(view->map_refs, &size);
- size /= sizeof(*maps);
-
- for (i = 0; i < size; i++)
+ maps = array_get(&view->map_refs, &count);
+ for (i = 0; i < count; i++)
mail_index_unmap(view->index, maps[i]);
- buffer_set_used_size(view->map_refs, 0);
+ array_clear(&view->map_refs);
}
static uint32_t _view_get_messages_count(struct mail_index_view *view)
- Previous message: [dovecot-cvs] dovecot/src/lib-storage/index index-sync.c,1.49,1.50
- Next message: [dovecot-cvs]
dovecot/src/lib-index mail-index-view-private.h, 1.19,
1.20 mail-index-view-sync.c, 1.44, 1.45 mail-index-view.c,
1.37, 1.38 mail-index.c, 1.213, 1.214 mail-index.h, 1.152,
1.153 mail-transaction-log-append.c, 1.13, 1.14
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the dovecot-cvs
mailing list