From df498d89c76c3e73a11ea43ae6b40bc689969314 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 27 May 2020 14:12:12 +0200 Subject: [PATCH] ucm: substitute component sequence string Signed-off-by: Jaroslav Kysela --- src/ucm/parser.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/ucm/parser.c b/src/ucm/parser.c index e4b1b715..44b61308 100644 --- a/src/ucm/parser.c +++ b/src/ucm/parser.c @@ -570,17 +570,22 @@ struct use_case_device *find_component_dev(snd_use_case_mgr_t *uc_mgr, * disable sequence is needed by its parenet device. */ static int parse_component_seq(snd_use_case_mgr_t *uc_mgr, - snd_config_t *n, int enable, - struct component_sequence *cmpt_seq) + snd_config_t *n, int enable, + struct component_sequence *cmpt_seq) { - const char *val; + char *val; int err; - err = snd_config_get_string(n, &val); + if (uc_mgr->conf_format < 3) { + err = parse_string(n, &val); + } else { + err = parse_string_substitute(uc_mgr, n, &val); + } if (err < 0) return err; cmpt_seq->device = find_component_dev(uc_mgr, val); + free(val); if (!cmpt_seq->device) { uc_error("error: Cannot find component device %s", val); return -EINVAL; -- 2.47.1