From d8fb68b9cbf9484ebc280717e7ec9736afa3e1ca Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Fri, 8 Jun 2007 00:15:33 +0000 Subject: [PATCH] Don't call ast_waitstream_full when the control file descriptor and audio file descriptor are not set, simply call ast_waitstream! (issue #8530 reported by rickead2000) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@68397 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- say.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/say.c b/say.c index 459e181c98..a20e325af2 100644 --- a/say.c +++ b/say.c @@ -120,8 +120,12 @@ int ast_say_character_str_full(struct ast_channel *chan, const char *str, const fn = fnbuf; } res = ast_streamfile(chan, fn, lang); - if (!res) - res = ast_waitstream_full(chan, ints, audiofd, ctrlfd); + if (!res) { + if ((audiofd > -1) && (ctrlfd > -1)) + res = ast_waitstream_full(chan, ints, audiofd, ctrlfd); + else + res = ast_waitstream(chan, ints); + } ast_stopstream(chan); num++; } @@ -199,8 +203,12 @@ int ast_say_phonetic_str_full(struct ast_channel *chan, const char *str, const c fn = fnbuf; } res = ast_streamfile(chan, fn, lang); - if (!res) - res = ast_waitstream_full(chan, ints, audiofd, ctrlfd); + if (!res) { + if ((audiofd > -1) && (ctrlfd > -1)) + res = ast_waitstream_full(chan, ints, audiofd, ctrlfd); + else + res = ast_waitstream(chan, ints); + } ast_stopstream(chan); num++; } @@ -249,8 +257,12 @@ int ast_say_digit_str_full(struct ast_channel *chan, const char *str, const char } if (fn) { res = ast_streamfile(chan, fn, lang); - if (!res) - res = ast_waitstream_full(chan, ints, audiofd, ctrlfd); + if (!res) { + if ((audiofd > -1) && (ctrlfd > -1)) + res = ast_waitstream_full(chan, ints, audiofd, ctrlfd); + else + res = ast_waitstream(chan, ints); + } ast_stopstream(chan); } num++; -- 2.47.2