mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-19 00:00:09 +00:00
Merge "res_pjsip_config_wizard: Fix change detection for wizard settings"
This commit is contained in:
@@ -1101,18 +1101,17 @@ static void object_type_loaded_observer(const char *name,
|
|||||||
while ((category = ast_category_browse_filtered(cfg, NULL, category, "type=^wizard$"))) {
|
while ((category = ast_category_browse_filtered(cfg, NULL, category, "type=^wizard$"))) {
|
||||||
const char *id = ast_category_get_name(category);
|
const char *id = ast_category_get_name(category);
|
||||||
struct ast_category *last_cat = NULL;
|
struct ast_category *last_cat = NULL;
|
||||||
struct ast_variable *change_set = NULL;
|
int changes = 0;
|
||||||
|
|
||||||
if (otw->last_config) {
|
if (otw->last_config) {
|
||||||
last_cat = ast_category_get(otw->last_config, id, "type=^wizard$");
|
last_cat = ast_category_get(otw->last_config, id, "type=^wizard$");
|
||||||
ast_sorcery_changeset_create(ast_category_first(category), ast_category_first(last_cat), &change_set);
|
changes = !ast_variable_lists_match(ast_category_first(category), ast_category_first(last_cat), 1);
|
||||||
if (last_cat) {
|
if (last_cat) {
|
||||||
ast_category_delete(otw->last_config, last_cat);
|
ast_category_delete(otw->last_config, last_cat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!last_cat || change_set) {
|
if (!last_cat || changes) {
|
||||||
ast_variables_destroy(change_set);
|
|
||||||
ast_debug(3, "%s: %s(s) for wizard '%s'\n", reloaded ? "Reload" : "Load", object_type, id);
|
ast_debug(3, "%s: %s(s) for wizard '%s'\n", reloaded ? "Reload" : "Load", object_type, id);
|
||||||
if (wizard_apply_handler(sorcery, otw, category)) {
|
if (wizard_apply_handler(sorcery, otw, category)) {
|
||||||
ast_log(LOG_ERROR, "Unable to create objects for wizard '%s'\n", id);
|
ast_log(LOG_ERROR, "Unable to create objects for wizard '%s'\n", id);
|
||||||
|
|||||||
Reference in New Issue
Block a user