}
/* remove UIDs not in the wanted UIDs range */
- seq_range_array_remove_invert_range(expunged_uids, uids);
+ seq_range_array_intersect(expunged_uids, uids);
mail_transaction_log_view_close(&log_view);
return TRUE;
}
}
unsigned int
-seq_range_array_remove_invert_range(ARRAY_TYPE(seq_range) *dest,
- const ARRAY_TYPE(seq_range) *src)
+seq_range_array_intersect(ARRAY_TYPE(seq_range) *dest,
+ const ARRAY_TYPE(seq_range) *src)
{
const struct seq_range *src_range;
unsigned int i, count, ret = 0;
uint32_t seq1, uint32_t seq2);
unsigned int seq_range_array_remove_seq_range(ARRAY_TYPE(seq_range) *dest,
const ARRAY_TYPE(seq_range) *src);
-/* Remove sequences from dest that don't exist in src. */
+/* Remove sequences from dest that don't exist in src.
+ Returns the number of sequences actually removed. */
unsigned int
-seq_range_array_remove_invert_range(ARRAY_TYPE(seq_range) *dest,
- const ARRAY_TYPE(seq_range) *src);
+seq_range_array_intersect(ARRAY_TYPE(seq_range) *dest,
+ const ARRAY_TYPE(seq_range) *src);
/* Returns TRUE if sequence exists in the range. */
bool seq_range_exists(const ARRAY_TYPE(seq_range) *array, uint32_t seq);
/* Return number of sequences in the range. */
} else {
squat_trie_filter_type(ctx->type, &ctx->tmp_uids,
&ctx->tmp_uids2);
- seq_range_array_remove_invert_range(ctx->maybe_uids,
- &ctx->tmp_uids2);
+ seq_range_array_intersect(ctx->maybe_uids,
+ &ctx->tmp_uids2);
}
i += char_lengths[i];
char_idx++;
} T_END;
/* keep only what exists in both lists. the rest is in
maybies or not wanted */
- seq_range_array_remove_invert_range(definite_uids,
- &tmp_definite);
+ seq_range_array_intersect(definite_uids, &tmp_definite);
}
array_free(&tmp_maybe);
array_free(&tmp_definite);