Index: manager.c =================================================================== RCS file: /usr/cvsroot/asterisk/manager.c,v retrieving revision 1.135 diff -u -r1.135 manager.c --- manager.c 15 Nov 2005 01:33:31 -0000 1.135 +++ manager.c 15 Nov 2005 19:30:40 -0000 @@ -689,6 +689,11 @@ astman_send_error(s, m, "No variable specified"); return 0; } + + if (ast_strlen_zero(varval)) { + astman_send_error(s, m, "No value specified"); + return 0; + } if (!ast_strlen_zero(name)) { c = ast_get_channel_by_name_locked(name); @@ -698,10 +703,13 @@ } } - pbx_builtin_setvar_helper(c,varname,varval); + pbx_builtin_setvar_helper(c, varname, varval); - ast_mutex_unlock(&c->lock); - astman_send_ack(s, m, "Variable Set"); + if (c) { + ast_mutex_unlock(&c->lock); + astman_send_ack(s, m, "Channel variable set"); + } else + astman_send_ack(s, m, "Global variable set"); return 0; }