dect
/
asterisk
Archived
13
0
Fork 0

If a variable had a blank value upon the initial setting, then it would do nothing.

Identified by Dmitry Andrianov via private email, fixed by me.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@195839 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
tilghman 2009-05-20 23:30:05 +00:00
parent b8d22b76a5
commit 3793d49623
1 changed files with 13 additions and 14 deletions

View File

@ -201,21 +201,20 @@ static int frame_set_var(struct ast_channel *chan, struct gosub_stack_frame *fra
}
}
if (!ast_strlen_zero(value)) {
if (!found) {
variables = ast_var_assign(var, "");
AST_LIST_INSERT_HEAD(&frame->varshead, variables, entries);
pbx_builtin_pushvar_helper(chan, var, value);
} else
pbx_builtin_setvar_helper(chan, var, value);
manager_event(EVENT_FLAG_DIALPLAN, "VarSet",
"Channel: %s\r\n"
"Variable: LOCAL(%s)\r\n"
"Value: %s\r\n"
"Uniqueid: %s\r\n",
chan->name, var, value, chan->uniqueid);
if (!found) {
variables = ast_var_assign(var, "");
AST_LIST_INSERT_HEAD(&frame->varshead, variables, entries);
pbx_builtin_pushvar_helper(chan, var, value);
} else {
pbx_builtin_setvar_helper(chan, var, value);
}
manager_event(EVENT_FLAG_DIALPLAN, "VarSet",
"Channel: %s\r\n"
"Variable: LOCAL(%s)\r\n"
"Value: %s\r\n"
"Uniqueid: %s\r\n",
chan->name, var, value, chan->uniqueid);
return 0;
}