From: Jaroslav Kysela Date: Thu, 19 May 2022 09:27:37 +0000 (+0200) Subject: ucm: macro - make argument names shorter X-Git-Tag: v1.2.7~24 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=5f0479762bc249720e2967bdbd0e737d061cdf54;p=alsa-lib.git ucm: macro - make argument names shorter It seems that the use the macro name as the variable prefix is too large. Use just two underscores as prefix for the macro arguments to make macro definitions more readable. Signed-off-by: Jaroslav Kysela --- diff --git a/src/ucm/parser.c b/src/ucm/parser.c index b77544ba..b5ee62a7 100644 --- a/src/ucm/parser.c +++ b/src/ucm/parser.c @@ -419,7 +419,7 @@ static int evaluate_macro1(snd_use_case_mgr_t *uc_mgr, err = snd_config_get_ascii(n, &var); if (err < 0) return err; - snprintf(name, sizeof(name), "%s_%s", mid, id); + snprintf(name, sizeof(name), "__%s", id); err = uc_mgr_set_variable(uc_mgr, name, var); free(var); if (err < 0) @@ -444,7 +444,7 @@ static int evaluate_macro1(snd_use_case_mgr_t *uc_mgr, err = snd_config_get_id(n, &id); if (err < 0) return err; - snprintf(name, sizeof(name), "%s_%s", mid, id); + snprintf(name, sizeof(name), "__%s", id); err = uc_mgr_delete_variable(uc_mgr, name); if (err < 0) return err; diff --git a/src/ucm/ucm_confdoc.h b/src/ucm/ucm_confdoc.h index dbaf93af..42c331b6 100644 --- a/src/ucm/ucm_confdoc.h +++ b/src/ucm/ucm_confdoc.h @@ -461,16 +461,16 @@ macro like: ~~~{.html} DefineMacro.macro1 { - Define.a "${var:macro1_arg1}" - Define.b "${var:macro1_other}" + Define.a "${var:__arg1}" + Define.b "${var:__other}" # Device or any other block may be defined here... } ~~~ -The arguments in the macro are refered as the variables with the macro -name prefix and underscore (*'_'*) delimiter. The configuration block -in the DefineMacro subtree is always evaluated (including arguments -and variables) at the time of the instantiation. +The arguments in the macro are refered as the variables with the double +underscore name prefix (like *__variable*). The configuration block in +the DefineMacro subtree is always evaluated (including arguments and variables) +at the time of the instantiation. The macros can be instantiated (expanded) using: