]> git.alsa-project.org Git - alsa-lib.git/commitdiff
ucm: fix the '${eval:EXPR}' substitution
authorJaroslav Kysela <perex@perex.cz>
Tue, 22 Feb 2022 08:50:30 +0000 (09:50 +0100)
committerJaroslav Kysela <perex@perex.cz>
Tue, 22 Feb 2022 08:51:29 +0000 (09:51 +0100)
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 <perex@perex.cz>
src/ucm/ucm_subs.c

index 0ed400d1ed652c98174d6fd070f755d85bd2fe8c..530bccbd91ab8c26430b9248378e1d596bed8f65 100644 (file)
@@ -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;