]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Added seq_range_count().
authorTimo Sirainen <tss@iki.fi>
Sun, 8 Jun 2008 21:12:17 +0000 (00:12 +0300)
committerTimo Sirainen <tss@iki.fi>
Sun, 8 Jun 2008 21:12:17 +0000 (00:12 +0300)
--HG--
branch : HEAD

src/lib/seq-range-array.c
src/lib/seq-range-array.h

index 09ca0b247ee87eeaf71e9f43462daebf85437db5..42a530bf1c41f90f1a214cfa25e99f17eb6b2216 100644 (file)
@@ -310,6 +310,17 @@ bool seq_range_exists(const ARRAY_TYPE(seq_range) *array, uint32_t seq)
        return seq_range_lookup(array, seq, &idx);
 }
 
+unsigned int seq_range_count(const ARRAY_TYPE(seq_range) *array)
+{
+       const struct seq_range *range;
+       unsigned int i, count, seq_count;
+
+       range = array_get(array, &count);
+       for (i = seq_count = 0; i < count; i++)
+               seq_count += range[i].seq2 - range[i].seq1 + 1;
+       return seq_count;
+}
+
 void seq_range_array_invert(ARRAY_TYPE(seq_range) *array,
                            uint32_t min_seq, uint32_t max_seq)
 {
index d059df931562318f997b307c8e2e7989fbbd9deb..374eb116bffa1f5e721533025f37488857f67fc1 100644 (file)
@@ -32,6 +32,8 @@ seq_range_array_remove_invert_range(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. */
+unsigned int seq_range_count(const ARRAY_TYPE(seq_range) *array);
 
 /* Invert the sequence range. For example 5:6 -> min_seq:4,7:max_seq. */
 void seq_range_array_invert(ARRAY_TYPE(seq_range) *array,