|
|
@ -69,7 +69,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
|
|
|
|
static char *extconfig_conf = "extconfig.conf";
|
|
|
|
static char *extconfig_conf = "extconfig.conf";
|
|
|
|
|
|
|
|
|
|
|
|
static struct ao2_container *cfg_hooks;
|
|
|
|
static struct ao2_container *cfg_hooks;
|
|
|
|
static void config_hook_exec(const char *filename, const char *module, struct ast_config *cfg);
|
|
|
|
static void config_hook_exec(const char *filename, const char *module, const struct ast_config *cfg);
|
|
|
|
inline struct ast_variable *variable_list_switch(struct ast_variable *l1, struct ast_variable *l2);
|
|
|
|
inline struct ast_variable *variable_list_switch(struct ast_variable *l1, struct ast_variable *l2);
|
|
|
|
|
|
|
|
|
|
|
|
/*! \brief Structure to keep comments for rewriting configuration files */
|
|
|
|
/*! \brief Structure to keep comments for rewriting configuration files */
|
|
|
@ -2425,6 +2425,9 @@ int ast_config_text_file_save(const char *configfile, const struct ast_config *c
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ao2_ref(fileset, -1); /* this should destroy the hash container */
|
|
|
|
ao2_ref(fileset, -1); /* this should destroy the hash container */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* pass new configuration to any config hooks */
|
|
|
|
|
|
|
|
config_hook_exec(configfile, generator, cfg);
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -3592,7 +3595,7 @@ void ast_config_hook_unregister(const char *name)
|
|
|
|
ao2_find(cfg_hooks, &tmp, OBJ_POINTER | OBJ_UNLINK | OBJ_NODATA);
|
|
|
|
ao2_find(cfg_hooks, &tmp, OBJ_POINTER | OBJ_UNLINK | OBJ_NODATA);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void config_hook_exec(const char *filename, const char *module, struct ast_config *cfg)
|
|
|
|
static void config_hook_exec(const char *filename, const char *module, const struct ast_config *cfg)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
struct ao2_iterator it;
|
|
|
|
struct ao2_iterator it;
|
|
|
|
struct cfg_hook *hook;
|
|
|
|
struct cfg_hook *hook;
|
|
|
|