diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-08 03:35:40 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-11-08 03:35:40 +0000 |
commit | f771d4bb5d19d138b9134ef3ea477616c3672b1e (patch) | |
tree | 49381db93391ae5c8afe84d5bbe66e98ac1a95c1 | |
parent | ba59f0a01e256c42c073d31c667076d9f013e968 (diff) |
issue #5571
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7019 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | ChangeLog | 2 | ||||
-rwxr-xr-x | manager.c | 21 |
2 files changed, 12 insertions, 11 deletions
@@ -1,5 +1,7 @@ 2005-11-07 Kevin P. Fleming <kpfleming@digium.com> + * manager.c (action_setvar): add support for setting global variables (issue #5571) + * Makefile: correct cross-compilation issue introduced in Cygwin patches (issue #5572) * apps/app_voicemail.c: upgrade to new arg/option API and implement priority jumping control (issue #5649) @@ -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; } |