From 61986c02b06dd8529c0e037e1e6a5736b7cd8350 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 26 May 2020 19:46:26 +0200 Subject: [PATCH] ucm: substitute ${CardNumber} Signed-off-by: Jaroslav Kysela --- src/ucm/ucm_subs.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/ucm/ucm_subs.c b/src/ucm/ucm_subs.c index 97004226..0cdaca88 100644 --- a/src/ucm/ucm_subs.c +++ b/src/ucm/ucm_subs.c @@ -66,6 +66,20 @@ static char *rval_conf_name(snd_use_case_mgr_t *uc_mgr) return NULL; } +static char *rval_card_number(snd_use_case_mgr_t *uc_mgr) +{ + struct ctl_list *ctl_list; + char num[16]; + + if (uc_mgr->conf_format < 3) + return NULL; + ctl_list = uc_mgr_get_one_ctl(uc_mgr); + if (ctl_list == NULL) + return strdup(""); + snprintf(num, sizeof(num), "%i", snd_ctl_card_info_get_card(ctl_list->ctl_info)); + return strdup(num); +} + static char *rval_card_id(snd_use_case_mgr_t *uc_mgr) { struct ctl_list *ctl_list; @@ -242,6 +256,7 @@ int uc_mgr_get_substituted_value(snd_use_case_mgr_t *uc_mgr, MATCH_VARIABLE(value, "${ConfTopDir}", rval_conf_topdir, false); MATCH_VARIABLE(value, "${ConfDir}", rval_conf_dir, false); MATCH_VARIABLE(value, "${ConfName}", rval_conf_name, false); + MATCH_VARIABLE(value, "${CardNumber}", rval_card_number, true); MATCH_VARIABLE(value, "${CardId}", rval_card_id, false); MATCH_VARIABLE(value, "${CardDriver}", rval_card_driver, false); MATCH_VARIABLE(value, "${CardName}", rval_card_name, false); -- 2.11.0