snd_config_iterator_t i, next;
snd_config_t *m, *mc, *a, *n;
const char *mid, *id;
- char name[128], *var;
+ char name[128], *var, *var2;
const char *s;
int err;
err = snd_config_get_ascii(n, &var);
if (err < 0)
goto __err_path;
- snprintf(name, sizeof(name), "__%s", id);
- err = uc_mgr_set_variable(uc_mgr, name, var);
+ err = uc_mgr_get_substituted_value(uc_mgr, &var2, var);
free(var);
+ if (err >= 0) {
+ snprintf(name, sizeof(name), "__%s", id);
+ err = uc_mgr_set_variable(uc_mgr, name, var2);
+ free(var2);
+ }
if (err < 0)
goto __err_path;
}