diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-29 15:21:10 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-29 15:21:10 +0000 |
commit | 5e59de48530e5d85a408a8e7104592b5599c4fd6 (patch) | |
tree | c909aac1638c5cc23c828a39a8169a19eec90491 /channels/chan_iax2.c | |
parent | 64fec3775a10a69c1cdc8c0f26308da15415fa1f (diff) |
Changed one too many variable settings in issue #9315 (closes issue #10592)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81335 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 20fdd2c09..73bac9101 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -3710,7 +3710,6 @@ static struct ast_channel *ast_iax2_new(int callno, int state, int capability) struct ast_channel *tmp; struct chan_iax2_pvt *i; struct ast_variable *v = NULL; - struct ast_datastore *variablestore = NULL; if (!(i = iaxs[callno])) { ast_log(LOG_WARNING, "No IAX2 pvt found for callno '%d' !\n", callno); @@ -3759,29 +3758,8 @@ static struct ast_channel *ast_iax2_new(int callno, int state, int capability) /* Set inherited variables */ if (i->vars) { - AST_LIST_HEAD(, ast_var_t) *varlist; - varlist = ast_calloc(1, sizeof(*varlist)); - variablestore = ast_channel_datastore_alloc(&iax2_variable_datastore_info, NULL); - if (variablestore && varlist) { - variablestore->data = varlist; - variablestore->inheritance = DATASTORE_INHERIT_FOREVER; - AST_LIST_HEAD_INIT(varlist); - for (v = i->vars ; v ; v = v->next) { - struct ast_var_t *newvar = ast_var_assign(v->name, v->value); - if (!newvar) { - ast_log(LOG_ERROR, "Out of memory\n"); - break; - } - AST_LIST_INSERT_TAIL(varlist, newvar, entries); - } - ast_channel_datastore_add(tmp, variablestore); - } else { - ast_log(LOG_ERROR, "Out of memory\n"); - if (variablestore) - ast_channel_datastore_free(variablestore); - if (varlist) - ast_free(varlist); - } + for (v = i->vars ; v ; v = v->next) + pbx_builtin_setvar_helper(tmp, v->name, v->value); } if (state != AST_STATE_DOWN) { |