From: Mark Spencer Date: Mon, 10 Nov 2003 04:54:02 +0000 (+0000) Subject: Store read data in a variable X-Git-Tag: 0.7.0~296 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d3850ae0e7bc74040dfd1b870f7a92a9e7ff9419;p=thirdparty%2Fasterisk.git Store read data in a variable git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1716 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- 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;