From: Jaroslav Kysela Date: Tue, 22 Feb 2022 08:50:30 +0000 (+0100) Subject: ucm: fix the '${eval:EXPR}' substitution X-Git-Tag: v1.2.7~52 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=c41d710a69941d052e345fcc883e102c37d6deae;p=alsa-lib.git 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 --- 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;