Mercurial > dovecot > original-hg > dovecot-1.2
diff src/lib/seq-range-array.c @ 6037:d911d943438e HEAD
Recent flag handling rewrite. Still not perfect with maildir.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Mon, 16 Jul 2007 09:48:02 +0300 |
parents | f38f3f11a93f |
children | fef4aad133dd |
line wrap: on
line diff
--- a/src/lib/seq-range-array.c Mon Jul 16 07:52:50 2007 +0300 +++ b/src/lib/seq-range-array.c Mon Jul 16 09:48:02 2007 +0300 @@ -100,22 +100,22 @@ } } -void seq_range_array_remove(ARRAY_TYPE(seq_range) *array, uint32_t seq) +bool seq_range_array_remove(ARRAY_TYPE(seq_range) *array, uint32_t seq) { struct seq_range *data, value; unsigned int idx, left_idx, right_idx, count; if (!array_is_created(array)) - return; + return FALSE; data = array_get_modifiable(array, &count); if (count == 0) - return; + return FALSE; /* quick checks */ if (seq > data[count-1].seq2 || seq < data[0].seq1) { /* outside the range */ - return; + return FALSE; } if (data[count-1].seq2 == seq) { /* shrink last range */ @@ -123,7 +123,7 @@ data[count-1].seq2--; else array_delete(array, count-1, 1); - return; + return TRUE; } if (data[0].seq1 == seq) { /* shrink up first range */ @@ -131,7 +131,7 @@ data[0].seq1++; else array_delete(array, 0, 1); - return; + return TRUE; } /* somewhere in the middle, array is sorted so find it with @@ -166,9 +166,10 @@ array_insert(array, idx + 1, &value, 1); } - break; + return TRUE; } } + return FALSE; } void seq_range_array_remove_range(ARRAY_TYPE(seq_range) *array,