From 506fb113f7ca4fbb3d6da09ef6f9dc2b31f54a1f Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Thu, 30 Apr 2020 14:02:44 +0200 Subject: segtree: Fix get element command with prefixes Code wasn't aware of prefix elements in interval sets. With previous changes in place, they merely need to be accepted in get_set_interval_find() - value comparison and expression duplication is identical to ranges. Extend sets/0034get_element_0 test to cover prefixes as well. While being at it, also cover concatenated ranges. Signed-off-by: Phil Sutter --- src/segtree.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/segtree.c b/src/segtree.c index 6aa6f97a..2b5831f2 100644 --- a/src/segtree.c +++ b/src/segtree.c @@ -702,6 +702,7 @@ static struct expr *get_set_interval_find(const struct table *table, list_for_each_entry(i, &set->init->expressions, list) { switch (i->key->etype) { + case EXPR_PREFIX: case EXPR_RANGE: range_expr_value_low(val, i); if (left && mpz_cmp(left->key->value, val)) -- cgit v1.2.3