aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-29 15:21:10 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-29 15:21:10 +0000
commit5e59de48530e5d85a408a8e7104592b5599c4fd6 (patch)
treec909aac1638c5cc23c828a39a8169a19eec90491 /channels
parent64fec3775a10a69c1cdc8c0f26308da15415fa1f (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')
-rw-r--r--channels/chan_iax2.c26
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) {