[asterisk-commits] oej: trunk r242904 - in /trunk: ./ main/manager.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Jan 25 14:28:03 CST 2010
Author: oej
Date: Mon Jan 25 14:27:59 2010
New Revision: 242904
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=242904
Log:
Merged revisions 242850 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r242850 | oej | 2010-01-25 21:03:38 +0100 (Mån, 25 Jan 2010) | 2 lines
Report error when writing to functions returns error in AMI setvar action
........
Modified:
trunk/ (props changed)
trunk/main/manager.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.
Modified: trunk/main/manager.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/manager.c?view=diff&rev=242904&r1=242903&r2=242904
==============================================================================
--- trunk/main/manager.c (original)
+++ trunk/main/manager.c Mon Jan 25 14:27:59 2010
@@ -2800,7 +2800,8 @@
const char *name = astman_get_header(m, "Channel");
const char *varname = astman_get_header(m, "Variable");
const char *varval = astman_get_header(m, "Value");
-
+ int res = 0;
+
if (ast_strlen_zero(varname)) {
astman_send_error(s, m, "No variable specified");
return 0;
@@ -2812,15 +2813,21 @@
return 0;
}
}
-
- pbx_builtin_setvar_helper(c, varname, S_OR(varval, ""));
+ if (varname[strlen(varname)-1] == ')') {
+ char *function = ast_strdupa(varname);
+ res = ast_func_write(c, function, varval);
+ } else {
+ pbx_builtin_setvar_helper(c, varname, S_OR(varval, ""));
+ }
if (c) {
c = ast_channel_unref(c);
}
-
- astman_send_ack(s, m, "Variable Set");
-
+ if (res == 0) {
+ astman_send_ack(s, m, "Variable Set");
+ } else {
+ astman_send_error(s, m, "Variable not set");
+ }
return 0;
}
More information about the asterisk-commits
mailing list