From: Jaroslav Kysela Date: Wed, 27 May 2020 13:04:31 +0000 (+0200) Subject: ucm: substitute Comment in Transition and Device X-Git-Tag: v1.2.3~29 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=8d26f25ad3ed9e102ee467d39bd00b5e954b4461;p=alsa-lib.git ucm: substitute Comment in Transition and Device Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/parser.c b/src/ucm/parser.c index a2a87ee4..567f6373 100644 --- a/src/ucm/parser.c +++ b/src/ucm/parser.c @@ -410,10 +410,16 @@ static int parse_transition(snd_use_case_mgr_t *uc_mgr, return -ENOMEM; INIT_LIST_HEAD(&tseq->transition_list); - tseq->name = strdup(id); - if (tseq->name == NULL) { + if (uc_mgr->conf_format < 3) { + tseq->name = strdup(id); + if (tseq->name == NULL) + err = -ENOMEM; + } else { + err = uc_mgr_get_substituted_value(uc_mgr, &tseq->name, id); + } + if (err < 0) { free(tseq); - return -ENOMEM; + return err; } err = parse_sequence(uc_mgr, &tseq->transition_list, n); @@ -940,7 +946,7 @@ static int parse_modifier(snd_use_case_mgr_t *uc_mgr, continue; if (strcmp(id, "Comment") == 0) { - err = parse_string(n, &modifier->comment); + err = parse_string_substitute3(uc_mgr, n, &modifier->comment); if (err < 0) { uc_error("error: failed to get modifier comment"); return err; @@ -1085,7 +1091,7 @@ static int parse_device(snd_use_case_mgr_t *uc_mgr, continue; if (strcmp(id, "Comment") == 0) { - err = parse_string(n, &device->comment); + err = parse_string_substitute3(uc_mgr, n, &device->comment); if (err < 0) { uc_error("error: failed to get device comment"); return err;