Mercurial > dovecot > core-2.2
changeset 12911:e5547c86528f
imap: Use mailbox_get_expunged_uids() for QRESYNC code.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 26 Mar 2011 00:39:40 +0200 |
parents | 99e3209fc78d |
children | e0f13d7510ef |
files | src/imap/imap-fetch.c |
diffstat | 1 files changed, 1 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/imap-fetch.c Sat Mar 26 00:33:51 2011 +0200 +++ b/src/imap/imap-fetch.c Sat Mar 26 00:39:40 2011 +0200 @@ -261,16 +261,6 @@ return ret; } -static void -mailbox_expunge_to_range(const ARRAY_TYPE(mailbox_expunge_rec) *input, - ARRAY_TYPE(seq_range) *output) -{ - const struct mailbox_expunge_rec *expunge; - - array_foreach(input, expunge) - seq_range_array_add(output, 0, expunge->uid); -} - static int imap_fetch_send_vanished(struct imap_fetch_context *ctx) { @@ -278,16 +268,12 @@ const struct mail_search_arg *modseqarg = uidarg->next; const ARRAY_TYPE(seq_range) *uid_filter = &uidarg->value.seqset; uint64_t modseq = modseqarg->value.modseq->modseq - 1; - ARRAY_TYPE(mailbox_expunge_rec) expunged_uids; ARRAY_TYPE(seq_range) expunged_uids_range; string_t *str; int ret = 0; - i_array_init(&expunged_uids, array_count(uid_filter)); i_array_init(&expunged_uids_range, array_count(uid_filter)); - if (mailbox_get_expunges(ctx->box, modseq, uid_filter, &expunged_uids)) - mailbox_expunge_to_range(&expunged_uids, &expunged_uids_range); - else { + if (!mailbox_get_expunged_uids(ctx->box, modseq, uid_filter, &expunged_uids_range)) { /* return all expunged UIDs */ if (get_expunges_fallback(ctx, uid_filter, &expunged_uids_range) < 0) { @@ -303,7 +289,6 @@ o_stream_send(ctx->client->output, str_data(str), str_len(str)); str_free(&str); } - array_free(&expunged_uids); array_free(&expunged_uids_range); return ret; }