mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-01 03:04:19 +00:00
Merge "followme: initialize all config items on reload" into 13
This commit is contained in:
@@ -311,8 +311,16 @@ static struct call_followme *alloc_profile(const char *fmname)
|
|||||||
|
|
||||||
ast_mutex_init(&f->lock);
|
ast_mutex_init(&f->lock);
|
||||||
ast_copy_string(f->name, fmname, sizeof(f->name));
|
ast_copy_string(f->name, fmname, sizeof(f->name));
|
||||||
f->moh[0] = '\0';
|
AST_LIST_HEAD_INIT_NOLOCK(&f->numbers);
|
||||||
|
AST_LIST_HEAD_INIT_NOLOCK(&f->blnumbers);
|
||||||
|
AST_LIST_HEAD_INIT_NOLOCK(&f->wlnumbers);
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void init_profile(struct call_followme *f, int activate)
|
||||||
|
{
|
||||||
f->context[0] = '\0';
|
f->context[0] = '\0';
|
||||||
|
ast_copy_string(f->moh, defaultmoh, sizeof(f->moh));
|
||||||
ast_copy_string(f->takecall, takecall, sizeof(f->takecall));
|
ast_copy_string(f->takecall, takecall, sizeof(f->takecall));
|
||||||
ast_copy_string(f->nextindp, nextindp, sizeof(f->nextindp));
|
ast_copy_string(f->nextindp, nextindp, sizeof(f->nextindp));
|
||||||
ast_copy_string(f->callfromprompt, callfromprompt, sizeof(f->callfromprompt));
|
ast_copy_string(f->callfromprompt, callfromprompt, sizeof(f->callfromprompt));
|
||||||
@@ -321,16 +329,9 @@ static struct call_followme *alloc_profile(const char *fmname)
|
|||||||
ast_copy_string(f->plsholdprompt, plsholdprompt, sizeof(f->plsholdprompt));
|
ast_copy_string(f->plsholdprompt, plsholdprompt, sizeof(f->plsholdprompt));
|
||||||
ast_copy_string(f->statusprompt, statusprompt, sizeof(f->statusprompt));
|
ast_copy_string(f->statusprompt, statusprompt, sizeof(f->statusprompt));
|
||||||
ast_copy_string(f->sorryprompt, sorryprompt, sizeof(f->sorryprompt));
|
ast_copy_string(f->sorryprompt, sorryprompt, sizeof(f->sorryprompt));
|
||||||
AST_LIST_HEAD_INIT_NOLOCK(&f->numbers);
|
if (activate) {
|
||||||
AST_LIST_HEAD_INIT_NOLOCK(&f->blnumbers);
|
f->active = 1;
|
||||||
AST_LIST_HEAD_INIT_NOLOCK(&f->wlnumbers);
|
}
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void init_profile(struct call_followme *f)
|
|
||||||
{
|
|
||||||
f->active = 1;
|
|
||||||
ast_copy_string(f->moh, defaultmoh, sizeof(f->moh));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -503,7 +504,7 @@ static int reload_followme(int reload)
|
|||||||
if (!new)
|
if (!new)
|
||||||
ast_mutex_lock(&f->lock);
|
ast_mutex_lock(&f->lock);
|
||||||
/* Re-initialize the profile */
|
/* Re-initialize the profile */
|
||||||
init_profile(f);
|
init_profile(f, 1);
|
||||||
free_numbers(f);
|
free_numbers(f);
|
||||||
var = ast_variable_browse(cfg, cat);
|
var = ast_variable_browse(cfg, cat);
|
||||||
while (var) {
|
while (var) {
|
||||||
@@ -1216,6 +1217,7 @@ static struct call_followme *find_realtime(const char *name)
|
|||||||
ast_free(str);
|
ast_free(str);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
init_profile(new_follower, 0);
|
||||||
|
|
||||||
for (v = var; v; v = v->next) {
|
for (v = var; v; v = v->next) {
|
||||||
if (!strcasecmp(v->name, "active")) {
|
if (!strcasecmp(v->name, "active")) {
|
||||||
|
|||||||
Reference in New Issue
Block a user