summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2020-04-30 14:02:44 +0200
committerPhil Sutter <phil@nwl.cc>2020-05-04 16:21:27 +0200
commit506fb113f7ca4fbb3d6da09ef6f9dc2b31f54a1f (patch)
treea771307d6811d3a25a004789853c5f035c788f32 /src
parentf21e73d6700b873eb1a295f43bbad9caaca577e2 (diff)
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 <phil@nwl.cc>
Diffstat (limited to 'src')
-rw-r--r--src/segtree.c1
1 files changed, 1 insertions, 0 deletions
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))