mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-03 19:16:46 +00:00
res_pjsip_config_wizard/config: Fix template processing
The config wizard was always pulling the first occurrence of a variable from an ast_variable list but this gets the template value from the list instead of any overridden value. This patch creates ast_variable_find_last_in_list() in config.c and updates res_pjsip_config_wizard to use it instead of ast_variable_find_in_list. Now the overridden values, where they exist, are used instead of template variables. Updated test_config to test the new API. ASTERISK-25089 #close Reported-by: George Joseph <george.joseph@fairview5.com> Tested-by: George Joseph <george.joseph@fairview5.com> Change-Id: Ifa7ddefc956a463923ee6839dd1ebe021c299de4
This commit is contained in:
@@ -735,6 +735,19 @@ const char *ast_variable_find_in_list(const struct ast_variable *list, const cha
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char *ast_variable_find_last_in_list(const struct ast_variable *list, const char *variable)
|
||||
{
|
||||
const struct ast_variable *v;
|
||||
const char *found = NULL;
|
||||
|
||||
for (v = list; v; v = v->next) {
|
||||
if (!strcasecmp(variable, v->name)) {
|
||||
found = v->value;
|
||||
}
|
||||
}
|
||||
return found;
|
||||
}
|
||||
|
||||
static struct ast_variable *variable_clone(const struct ast_variable *old)
|
||||
{
|
||||
struct ast_variable *new = ast_variable_new(old->name, old->value, old->file);
|
||||
|
Reference in New Issue
Block a user