mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 03:18:30 +00:00
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/branches/1.4@89618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -192,7 +192,7 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
|
|||||||
AST_LIST_INSERT_HEAD(&head, n, entries);
|
AST_LIST_INSERT_HEAD(&head, n, entries);
|
||||||
|
|
||||||
/* scan the body, one piece at a time */
|
/* 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];
|
char fn[128];
|
||||||
const char *p, *fmt, *data; /* format and data pointers */
|
const char *p, *fmt, *data; /* format and data pointers */
|
||||||
|
|
||||||
@@ -241,6 +241,10 @@ static int do_say(say_args_t *a, const char *s, const char *options, int depth)
|
|||||||
strcpy(fn2 + l, data);
|
strcpy(fn2 + l, data);
|
||||||
ret = do_say(a, fn2, options, depth);
|
ret = do_say(a, fn2, options, depth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ret) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ast_var_delete(n);
|
ast_var_delete(n);
|
||||||
|
|||||||
Reference in New Issue
Block a user