aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_agi.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-23 16:14:18 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-23 16:14:18 +0000
commitccd2aea900fa5d1fd53a1c7dcaa0b2458695556e (patch)
tree668d860eb51bc300b6ff414962b9b98d06bd7486 /res/res_agi.c
parentd623201cd4a7ad8e14e42524a5debb7192d33897 (diff)
Merged revisions 40901 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r40901 | tilghman | 2006-08-23 11:05:26 -0500 (Wed, 23 Aug 2006) | 2 lines Revert last change - breaks retrieval of builtin variables ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40904 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_agi.c')
-rw-r--r--res/res_agi.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/res/res_agi.c b/res/res_agi.c
index 99d1d0c6a..a050d1c8d 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -1164,17 +1164,18 @@ static int handle_setvariable(struct ast_channel *chan, AGI *agi, int argc, char
static int handle_getvariable(struct ast_channel *chan, AGI *agi, int argc, char **argv)
{
- const char *ret;
+ char *ret;
char tempstr[1024];
if (argc != 3)
return RESULT_SHOWUSAGE;
/* check if we want to execute an ast_custom_function */
- if (!ast_strlen_zero(argv[2]) && (argv[2][strlen(argv[2]) - 1] == ')'))
+ if (!ast_strlen_zero(argv[2]) && (argv[2][strlen(argv[2]) - 1] == ')')) {
ret = ast_func_read(chan, argv[2], tempstr, sizeof(tempstr)) ? NULL : tempstr;
- else
- ret = pbx_builtin_getvar_helper(chan, argv[2]);
+ } else {
+ pbx_retrieve_variable(chan, argv[2], &ret, tempstr, sizeof(tempstr), NULL);
+ }
if (ret)
fdprintf(agi->fd, "200 result=1 (%s)\n", ret);