diff options
author | Mark Michelson <mmichelson@digium.com> | 2010-05-21 21:08:51 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2010-05-21 21:08:51 +0000 |
commit | 1225ee831cda3ee6906c0c79787d71b1e6a1e20e (patch) | |
tree | c1579d11e137733daa379f00c874e8024c646594 | |
parent | ee60cb8d41465d7165c7b8477f1b24818b2cedd1 (diff) |
Merged revisions 265089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r265089 | mmichelson | 2010-05-21 15:59:14 -0500 (Fri, 21 May 2010) | 8 lines
Don't hang up on a queue caller if the file we attempt to play does not exist.
This also fixes a documentation mistake in file.h that made my original attempt
to correct this problem not work correctly.
(closes issue #17061)
Reported by: RoadKill
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | apps/app_queue.c | 4 | ||||
-rw-r--r-- | include/asterisk/file.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/apps/app_queue.c b/apps/app_queue.c index 366edf5c2..5692890ac 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -2346,6 +2346,10 @@ static int play_file(struct ast_channel *chan, const char *filename) return 0; } + if (!ast_fileexists(filename, NULL, chan->language)) { + return 0; + } + ast_stopstream(chan); res = ast_streamfile(chan, filename, chan->language); diff --git a/include/asterisk/file.h b/include/asterisk/file.h index 8def42ae5..69de81165 100644 --- a/include/asterisk/file.h +++ b/include/asterisk/file.h @@ -90,7 +90,7 @@ int ast_stopstream(struct ast_channel *c); * \param fmt the format you wish to check (the extension) * \param preflang (the preferred language you wisht to find the file in) * See if a given file exists in a given format. If fmt is NULL, any format is accepted. - * \return -1 if file does not exist, non-zero positive otherwise. + * \return 0 if file does not exist, non-zero positive otherwise. */ int ast_fileexists(const char *filename, const char *fmt, const char *preflang); |