diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/evaluate.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/evaluate.c b/src/evaluate.c index 3e94e047..9290c6ff 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -2013,10 +2013,13 @@ static int expr_evaluate_variable(struct eval_ctx *ctx, struct expr **exprp) { struct expr *new = expr_clone((*exprp)->sym->expr); + if (expr_evaluate(ctx, &new) < 0) + return -1; + expr_free(*exprp); *exprp = new; - return expr_evaluate(ctx, exprp); + return 0; } static int expr_evaluate_xfrm(struct eval_ctx *ctx, struct expr **exprp) |