From d3850ae0e7bc74040dfd1b870f7a92a9e7ff9419 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Mon, 10 Nov 2003 04:54:02 +0000 Subject: [PATCH] Store read data in a variable git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1716 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_read.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/app_read.c b/apps/app_read.c index 1c6dd862bd..fcb89fd948 100755 --- a/apps/app_read.c +++ b/apps/app_read.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -54,6 +55,10 @@ static int read_exec(struct ast_channel *chan, void *data) stringp=tmp; strsep(&stringp, "|"); filename = strsep(&stringp, "|"); + if (!strlen(tmp)) { + ast_log(LOG_WARNING, "Read requires an variable name\n"); + return -1; + } LOCAL_USER_ADD(u); if (chan->_state != AST_STATE_UP) { /* Answer if the line isn't up. */ @@ -62,7 +67,9 @@ static int read_exec(struct ast_channel *chan, void *data) if (!res) { ast_stopstream(chan); res = ast_app_getdata(chan, filename, tmp2, sizeof(tmp2) - 1, 0); - ast_verbose("You entered '%s'\n", tmp2); + if (!res) + pbx_builtin_setvar_helper(chan, tmp, tmp2); + ast_verbose(VERBOSE_PREFIX_3 "User entered '%s'\n", tmp2); } LOCAL_USER_REMOVE(u); return res;