From 1225ee831cda3ee6906c0c79787d71b1e6a1e20e Mon Sep 17 00:00:00 2001 From: Mark Michelson <mmichelson@digium.com> Date: Fri, 21 May 2010 21:08:51 +0000 Subject: [PATCH] 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 --- apps/app_queue.c | 4 ++++ include/asterisk/file.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/app_queue.c b/apps/app_queue.c index 366edf5c27..5692890ac2 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 8def42ae5d..69de811652 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); -- GitLab