aboutsummaryrefslogtreecommitdiffstats
path: root/manager.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-08 03:35:40 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-11-08 03:35:40 +0000
commitf771d4bb5d19d138b9134ef3ea477616c3672b1e (patch)
tree49381db93391ae5c8afe84d5bbe66e98ac1a95c1 /manager.c
parentba59f0a01e256c42c073d31c667076d9f013e968 (diff)
issue #5571
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7019 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'manager.c')
-rwxr-xr-xmanager.c21
1 files changed, 10 insertions, 11 deletions
diff --git a/manager.c b/manager.c
index 1f38db260..c4bfcec35 100755
--- a/manager.c
+++ b/manager.c
@@ -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;
}