From 6bdc66e9b0fb6df15e7ac8883b5f8e83c9891c51 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Wed, 29 Aug 2007 15:21:10 +0000 Subject: [PATCH] Changed one too many variable settings in issue #9315 (closes issue #10592) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81335 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_iax2.c | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 20fdd2c098..73bac9101e 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) {