|
|
|
@ -664,9 +664,9 @@ static int action_hangup(struct mansession *s, struct message *m)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static char mandescr_setvar[] =
|
|
|
|
|
"Description: Set a local channel variable.\n"
|
|
|
|
|
"Description: Set a global or local channel variable.\n"
|
|
|
|
|
"Variables: (Names marked with * are required)\n"
|
|
|
|
|
" *Channel: Channel to set variable for\n"
|
|
|
|
|
" Channel: Channel to set variable for\n"
|
|
|
|
|
" *Variable: Variable name\n"
|
|
|
|
|
" *Value: Value\n";
|
|
|
|
|
|
|
|
|
@ -677,25 +677,24 @@ static int action_setvar(struct mansession *s, struct message *m)
|
|
|
|
|
char *varname = astman_get_header(m, "Variable");
|
|
|
|
|
char *varval = astman_get_header(m, "Value");
|
|
|
|
|
|
|
|
|
|
if (!strlen(name)) {
|
|
|
|
|
astman_send_error(s, m, "No channel specified");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
if (!strlen(varname)) {
|
|
|
|
|
if (ast_strlen_zero(varname)) {
|
|
|
|
|
astman_send_error(s, m, "No variable specified");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
c = ast_get_channel_by_name_locked(name);
|
|
|
|
|
if (!c) {
|
|
|
|
|
astman_send_error(s, m, "No such channel");
|
|
|
|
|
return 0;
|
|
|
|
|
if (!ast_strlen_zero(name)) {
|
|
|
|
|
c = ast_get_channel_by_name_locked(name);
|
|
|
|
|
if (!c) {
|
|
|
|
|
astman_send_error(s, m, "No such channel");
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pbx_builtin_setvar_helper(c,varname,varval);
|
|
|
|
|
|
|
|
|
|
ast_mutex_unlock(&c->lock);
|
|
|
|
|
astman_send_ack(s, m, "Variable Set");
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|