Fix both app_read and underlying read issue (bug #2352)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-09-02 13:52:58 +00:00
parent d952c7ed71
commit b813a5f3fa
2 changed files with 7 additions and 2 deletions

2
app.c
View File

@@ -37,6 +37,8 @@ int ast_app_getdata(struct ast_channel *c, char *prompt, char *s, int maxlen, in
{ {
int res,to,fto; int res,to,fto;
/* XXX Merge with full version? XXX */ /* XXX Merge with full version? XXX */
if (maxlen)
s[0] = '\0';
if (prompt) { if (prompt) {
res = ast_streamfile(c, prompt, c->language); res = ast_streamfile(c, prompt, c->language);
if (res < 0) if (res < 0)

View File

@@ -103,9 +103,12 @@ static int read_exec(struct ast_channel *chan, void *data)
if (!res) { if (!res) {
ast_stopstream(chan); ast_stopstream(chan);
res = ast_app_getdata(chan, filename, tmp, maxdigits, 0); res = ast_app_getdata(chan, filename, tmp, maxdigits, 0);
if (res > -1) if (res > -1) {
pbx_builtin_setvar_helper(chan, varname, tmp); pbx_builtin_setvar_helper(chan, varname, tmp);
ast_verbose(VERBOSE_PREFIX_3 "User entered '%s'\n", tmp); ast_verbose(VERBOSE_PREFIX_3 "User entered '%s'\n", tmp);
} else {
ast_verbose(VERBOSE_PREFIX_3 "User entered nothing\n");
}
} }
LOCAL_USER_REMOVE(u); LOCAL_USER_REMOVE(u);
return res; return res;