summaryrefslogtreecommitdiff
path: root/main/config.c
diff options
context:
space:
mode:
authorScott Griepentrog <sgriepentrog@digium.com>2014-07-11 16:42:49 +0000
committerScott Griepentrog <sgriepentrog@digium.com>2014-07-11 16:42:49 +0000
commit6e5d843a5632c7c4100b5eab2fffc3557d6f5d0c (patch)
treed8f50208730d84284f367bfb81bd83f6954480d7 /main/config.c
parentded0d16174373dd42aeb4a4bff2a574fabb969ec (diff)
config: inform config hook of change when writing file
When updated configuration is written back to the conf file - for example when a user changes their voicemail pin, make sure that any config hook that wants to know of changes is informed. Review: https://reviewboard.asterisk.org/r/3708/ ........ Merged revisions 418366 from http://svn.asterisk.org/svn/asterisk/branches/11 ........ Merged revisions 418369 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@418370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/config.c')
-rw-r--r--main/config.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/main/config.c b/main/config.c
index d9bef2e1b..cd2e8b8eb 100644
--- a/main/config.c
+++ b/main/config.c
@@ -69,7 +69,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
static char *extconfig_conf = "extconfig.conf";
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);
/*! \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 */
+ /* pass new configuration to any config hooks */
+ config_hook_exec(configfile, generator, cfg);
+
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);
}
-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 cfg_hook *hook;