Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7222:3deaf85bb47c HEAD
Each message has two UIDs stored (body and header), so build the expunge
list using those UIDs instead of the real message UIDs.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 10 Feb 2008 22:07:18 +0200 |
parents | e042b6385c7b |
children | 71af49ba330e |
files | src/plugins/fts-squat/fts-backend-squat.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugins/fts-squat/fts-backend-squat.c Sun Feb 10 21:54:57 2008 +0200 +++ b/src/plugins/fts-squat/fts-backend-squat.c Sun Feb 10 22:07:18 2008 +0200 @@ -116,8 +116,11 @@ mail = mail_alloc(t, 0, NULL); search_ctx = mailbox_search_init(t, NULL, &search_arg, NULL); - while ((ret = mailbox_search_next(search_ctx, mail)) > 0) - seq_range_array_add(uids, 0, mail->uid); + while ((ret = mailbox_search_next(search_ctx, mail)) > 0) { + /* *2 because even/odd is for body/header */ + seq_range_array_add_range(uids, mail->uid * 2, + mail->uid * 2 + 1); + } if (mailbox_search_deinit(&search_ctx) < 0) ret = -1; mail_free(&mail); @@ -137,7 +140,7 @@ if (get_all_msg_uids(ctx->ctx.backend->box, &uids) < 0) ret = squat_trie_build_deinit(&ctx->build_ctx, NULL); else { - seq_range_array_invert(&uids, 1, (uint32_t)-2); + seq_range_array_invert(&uids, 2, (uint32_t)-2); ret = squat_trie_build_deinit(&ctx->build_ctx, &uids); } array_free(&uids);