From c41d710a69941d052e345fcc883e102c37d6deae Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 22 Feb 2022 09:50:30 +0100 Subject: [PATCH] ucm: fix the '${eval:EXPR}' substitution There was already a variable substitution. Skip it for the eval: case. Fixes: 7b6da9ee ("ucm: add ${eval:EXPR} substitution (Syntax 5)") Signed-off-by: Jaroslav Kysela --- src/ucm/ucm_subs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ucm/ucm_subs.c b/src/ucm/ucm_subs.c index 0ed400d1..530bccbd 100644 --- a/src/ucm/ucm_subs.c +++ b/src/ucm/ucm_subs.c @@ -727,6 +727,8 @@ __match2: strncpy_with_escape(v2, value + idsize, rvalsize); idsize += rvalsize + 1; if (*v2 == '$' && uc_mgr->conf_format >= 3) { + if (strncmp(value, "${eval:", 7) == 0) + goto __direct_fcn2; tmp = uc_mgr_get_variable(uc_mgr, v2 + 1); if (tmp == NULL) { uc_error("define '%s' is not reachable in this context!", v2 + 1); @@ -735,6 +737,7 @@ __match2: rval = fcn2(uc_mgr, tmp); } } else { +__direct_fcn2: rval = fcn2(uc_mgr, v2); } goto __rval; -- 2.47.1