When using intervals, the initializers set_flags are set to SET_F_INTERVAL,
however that is not propagated back to the set, so the segtree construction
is not performed.
Signed-off-by: Patrick McHardy <kaber@trash.net>
if (expr_evaluate(ctx, &map->mappings->set->init) < 0)
return -1;
ctx->set = NULL;
+
+ map->mappings->set->flags |= map->mappings->set->init->set_flags;
break;
case EXPR_SYMBOL:
if (expr_evaluate(ctx, &map->mappings) < 0)
map->flags |= EXPR_F_CONSTANT;
/* Data for range lookups needs to be in big endian order */
- if (map->mappings->set_flags & SET_F_INTERVAL &&
+ if (map->mappings->set->flags & SET_F_INTERVAL &&
byteorder_conversion(ctx, &map->map, BYTEORDER_BIG_ENDIAN) < 0)
return -1;