The length value is needed for netlink debug output of concatenated ranges. Set it to one of the inner elements' lengths (which should be identical). Since the inner element length may not be set initially, set it in eval phase again. This covers at least all cases in tests/py. Without this, netlink_gen_concat_key() et al. would have to inspect element types and extract lengths accordingly, this is much easier. Signed-off-by: Phil Sutter --- src/evaluate.c | 1 + src/expression.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/evaluate.c b/src/evaluate.c index be366140c12f2..cee500312bc6d 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -1337,6 +1337,7 @@ static int expr_evaluate_range(struct eval_ctx *ctx, struct expr **exprp) datatype_set(range, left->dtype); range->flags |= EXPR_F_CONSTANT; + range->len = left->len; return 0; } diff --git a/src/expression.c b/src/expression.c index 019c263f187b8..de63196b60a6a 100644 --- a/src/expression.c +++ b/src/expression.c @@ -1013,6 +1013,7 @@ struct expr *range_expr_alloc(const struct location *loc, BYTEORDER_INVALID, 0); expr->left = left; expr->right = right; + expr->len = left->len; return expr; } -- 2.51.0