diff options
Diffstat (limited to 'res/res_agi.c')
-rw-r--r-- | res/res_agi.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/res/res_agi.c b/res/res_agi.c index d12de6e2d..571e25279 100644 --- a/res/res_agi.c +++ b/res/res_agi.c @@ -1166,18 +1166,17 @@ 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) { - char *ret; + const 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 { - pbx_retrieve_variable(chan, argv[2], &ret, tempstr, sizeof(tempstr), NULL); - } + else + ret = pbx_builtin_getvar_helper(chan, argv[2]); if (ret) fdprintf(agi->fd, "200 result=1 (%s)\n", ret); |