Mercurial > dovecot > original-hg > dovecot-1.2
changeset 6457:3645048f6f6e HEAD
Searching NOT sequence set with multiple search ranges containing either
first or last sequence caused some messages to be skipped.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 22 Sep 2007 14:28:01 +0300 |
parents | ac87cdd44305 |
children | cca479cb3ef0 |
files | src/lib-storage/index/index-search.c |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/index-search.c Sat Sep 22 14:13:42 2007 +0300 +++ b/src/lib-storage/index/index-search.c Sat Sep 22 14:28:01 2007 +0300 @@ -627,13 +627,16 @@ min_seq = set->seq1; if (set->seq2 > max_seq) max_seq = set->seq2; + if (not) + update_seqs(set, hdr, seq1_r, seq2_r, TRUE); } - full_set.seq1 = min_seq; - full_set.seq2 = max_seq; - full_set.next = NULL; - update_seqs(&full_set, hdr, seq1_r, seq2_r, not); - return; + if (!not) { + full_set.seq1 = min_seq; + full_set.seq2 = max_seq; + full_set.next = NULL; + update_seqs(&full_set, hdr, seq1_r, seq2_r, not); + } } static void search_or_parse_msgset_args(const struct mail_index_header *hdr,