diff options
author | Mark Michelson <mmichelson@digium.com> | 2007-11-26 23:11:29 +0000 |
---|---|---|
committer | Mark Michelson <mmichelson@digium.com> | 2007-11-26 23:11:29 +0000 |
commit | 5f3a28e5881ec6595d3aa119a523aa3d6bd26470 (patch) | |
tree | 257e639477c6e208951e07aef653e2bede63cbee /apps | |
parent | 0fe71dbb1a2b244d0df3d2fd0961f4fde3984f57 (diff) |
Merged revisions 89618 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89618 | mmichelson | 2007-11-26 17:10:49 -0600 (Mon, 26 Nov 2007) | 7 lines
After issuing a "say load new", if a caller hangs up during the middle of playback of a number,
app_playback will continue to try to play the remaining files. With this change, no more files will
be played back upon hangup.
(closes issue #11345, reported and patched by IgorG)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps')
-rw-r--r-- | apps/app_playback.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/app_playback.c b/apps/app_playback.c index b4286d306..21b3ab3eb 100644 --- a/apps/app_playback.c +++ b/apps/app_playback.c @@ -185,7 +185,7 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth) AST_LIST_INSERT_HEAD(&head, n, entries); /* scan the body, one piece at a time */ - while ( ret <= 0 && (x = strsep(&rule, ",")) ) { /* exit on key */ + while ( !ret && (x = strsep(&rule, ",")) ) { /* exit on key */ char fn[128]; const char *p, *fmt, *data; /* format and data pointers */ @@ -234,6 +234,10 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth) strcpy(fn2 + l, data); ret = do_say(a, fn2, options, depth); } + + if (ret) { + break; + } } } ast_var_delete(n); |