[dovecot-cvs]
dovecot/src/lib-index mail-index-sync-private.h, 1.26,
1.27 mail-index-sync.c, 1.63, 1.64 mail-index-view-sync.c,
1.45, 1.46 mail-index.h, 1.153, 1.154
cras at dovecot.org
cras at dovecot.org
Fri Jan 6 19:37:33 EET 2006
Update of /var/lib/cvs/dovecot/src/lib-index
In directory talvi:/tmp/cvs-serv25870/lib-index
Modified Files:
mail-index-sync-private.h mail-index-sync.c
mail-index-view-sync.c mail-index.h
Log Message:
Changed mail_index_view_sync_next() to return struct
mail_index_view_sync_rec records which only contain the type and UID range.
Makes it clearer that the caller won't get anything else, and flag updates
now don't need to update add_flags/remove_flags fields.
Index: mail-index-sync-private.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-sync-private.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- mail-index-sync-private.h 2 Apr 2005 21:09:03 -0000 1.26
+++ mail-index-sync-private.h 6 Jan 2006 17:37:30 -0000 1.27
@@ -70,13 +70,6 @@
void mail_index_sync_replace_map(struct mail_index_sync_map_ctx *ctx,
struct mail_index_map *map);
-void
-mail_index_sync_get_expunge(struct mail_index_sync_rec *rec,
- const struct mail_transaction_expunge *exp);
-void
-mail_index_sync_get_update(struct mail_index_sync_rec *rec,
- const struct mail_transaction_flag_update *update);
-
void mail_index_sync_init_expunge_handlers(struct mail_index_sync_map_ctx *ctx);
void
mail_index_sync_deinit_expunge_handlers(struct mail_index_sync_map_ctx *ctx);
Index: mail-index-sync.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-sync.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- mail-index-sync.c 21 Dec 2005 18:37:23 -0000 1.63
+++ mail-index-sync.c 6 Jan 2006 17:37:30 -0000 1.64
@@ -430,7 +430,7 @@
return 1;
}
-void
+static void
mail_index_sync_get_expunge(struct mail_index_sync_rec *rec,
const struct mail_transaction_expunge *exp)
{
@@ -439,7 +439,7 @@
rec->uid2 = exp->uid2;
}
-void
+static void
mail_index_sync_get_update(struct mail_index_sync_rec *rec,
const struct mail_transaction_flag_update *update)
{
Index: mail-index-view-sync.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index-view-sync.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- mail-index-view-sync.c 6 Jan 2006 17:30:26 -0000 1.45
+++ mail-index-view-sync.c 6 Jan 2006 17:37:30 -0000 1.46
@@ -365,7 +365,7 @@
static int
mail_index_view_sync_get_rec(struct mail_index_view_sync_ctx *ctx,
- struct mail_index_sync_rec *rec)
+ struct mail_index_view_sync_rec *rec)
{
const struct mail_transaction_header *hdr = ctx->hdr;
const void *data = ctx->data;
@@ -383,8 +383,11 @@
CONST_PTR_OFFSET(data, ctx->data_offset);
/* data contains mail_transaction_expunge[] */
+ rec->type = MAIL_INDEX_SYNC_TYPE_EXPUNGE;
+ rec->uid1 = exp->uid1;
+ rec->uid2 = exp->uid2;
+
ctx->data_offset += sizeof(*exp);
- mail_index_sync_get_expunge(rec, exp);
break;
}
case MAIL_TRANSACTION_FLAG_UPDATE: {
@@ -403,7 +406,10 @@
update = CONST_PTR_OFFSET(data, ctx->data_offset);
}
- mail_index_sync_get_update(rec, update);
+
+ rec->type = MAIL_INDEX_SYNC_TYPE_FLAGS;
+ rec->uid1 = update->uid1;
+ rec->uid2 = update->uid2;
break;
}
case MAIL_TRANSACTION_KEYWORD_UPDATE: {
@@ -421,9 +427,6 @@
}
uids = CONST_PTR_OFFSET(data, ctx->data_offset);
- /* FIXME: rec->keyword_idx isn't set, but no-one cares
- currently. perhaps the whole view syncing API should just
- be returning type and uid range.. */
rec->type = MAIL_INDEX_SYNC_TYPE_KEYWORD_ADD;
rec->uid1 = uids[0];
rec->uid2 = uids[1];
@@ -449,7 +452,7 @@
}
int mail_index_view_sync_next(struct mail_index_view_sync_ctx *ctx,
- struct mail_index_sync_rec *sync_rec)
+ struct mail_index_view_sync_rec *sync_rec)
{
int ret;
Index: mail-index.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-index/mail-index.h,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -d -r1.153 -r1.154
--- mail-index.h 6 Jan 2006 17:30:26 -0000 1.153
+++ mail-index.h 6 Jan 2006 17:37:30 -0000 1.154
@@ -135,6 +135,13 @@
unsigned int keyword_idx;
};
+struct mail_index_view_sync_rec {
+ uint32_t uid1, uid2;
+ /* keyword appends and removes are packed into one and same
+ MAIL_INDEX_SYNC_TYPE_KEYWORD_ADD */
+ enum mail_index_sync_type type;
+};
+
struct mail_index;
struct mail_index_map;
struct mail_index_view;
@@ -254,7 +261,7 @@
struct mail_index_view_sync_ctx **ctx_r);
/* Returns -1 if error, 0 if sync is finished, 1 if record was filled. */
int mail_index_view_sync_next(struct mail_index_view_sync_ctx *ctx,
- struct mail_index_sync_rec *sync_rec);
+ struct mail_index_view_sync_rec *sync_rec);
const uint32_t *
mail_index_view_sync_get_expunges(struct mail_index_view_sync_ctx *ctx,
unsigned int *count_r);
More information about the dovecot-cvs
mailing list