summaryrefslogtreecommitdiff
path: root/res/res_agi.c
diff options
context:
space:
mode:
authorMichael L. Young <elgueromexicano@gmail.com>2013-07-18 12:54:50 +0000
committerMichael L. Young <elgueromexicano@gmail.com>2013-07-18 12:54:50 +0000
commit6d9909887e5e2005a4cadd44ff9d1323857d6f60 (patch)
treefbeeb7f7c4be476283c61fb61d805ae94696168c /res/res_agi.c
parent40ce5e0d18520cd7a440cd8849e3e920be68f471 (diff)
Properly indicate failure to open an audio stream in res_agi
If there is an error streaming an audio file, the current return status makes it difficult for an AGI script to determine that there was an error with the audio file. This patches changes the result to return -1 and the function returns RESULT_FAILURE instead of RESULT_SUCCESS. From looking at other parts of res_agi, this would appear to be the proper way to handle an error. (closes issue ASTERISK-21903) Reported by: Ariel Wainer Tested by: Ariel Wainer Patches: asterisk-21903-return-stream-res_1.8.diff by Michael L. Young (license 5026) Review: https://reviewboard.asterisk.org/r/2625/ ........ Merged revisions 394640 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 394641 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_agi.c')
-rw-r--r--res/res_agi.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/res/res_agi.c b/res/res_agi.c
index 1e22ff98f..407423d12 100644
--- a/res/res_agi.c
+++ b/res/res_agi.c
@@ -2162,8 +2162,8 @@ static int handle_streamfile(struct ast_channel *chan, AGI *agi, int argc, const
}
if (!(fs = ast_openstream(chan, argv[2], ast_channel_language(chan)))) {
- ast_agi_send(agi->fd, chan, "200 result=%d endpos=%ld\n", 0, sample_offset);
- return RESULT_SUCCESS;
+ ast_agi_send(agi->fd, chan, "200 result=-1 endpos=%ld\n", sample_offset);
+ return RESULT_FAILURE;
}
if ((vfs = ast_openvstream(chan, argv[2], ast_channel_language(chan)))) {
@@ -2222,9 +2222,9 @@ static int handle_getoption(struct ast_channel *chan, AGI *agi, int argc, const
}
if (!(fs = ast_openstream(chan, argv[2], ast_channel_language(chan)))) {
- ast_agi_send(agi->fd, chan, "200 result=%d endpos=%ld\n", 0, sample_offset);
+ ast_agi_send(agi->fd, chan, "200 result=-1 endpos=%ld\n", sample_offset);
ast_log(LOG_WARNING, "Unable to open %s\n", argv[2]);
- return RESULT_SUCCESS;
+ return RESULT_FAILURE;
}
if ((vfs = ast_openvstream(chan, argv[2], ast_channel_language(chan))))