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: