aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_playback.c
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-26 23:11:29 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-26 23:11:29 +0000
commitbbc2a86e790b18cc51aa12b28487a45c51ddfa12 (patch)
tree257e639477c6e208951e07aef653e2bede63cbee /apps/app_playback.c
parentf0367e88b74e807d5a9d97698c8ea203b1125373 (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: http://svn.digium.com/svn/asterisk/trunk@89619 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_playback.c')
-rw-r--r--apps/app_playback.c6
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);