Index: app_playback.c =================================================================== --- app_playback.c (revision 89521) +++ app_playback.c (working copy) @@ -185,7 +185,7 @@ 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 @@ strcpy(fn2 + l, data); ret = do_say(a, fn2, options, depth); } + + if (ret) { + break; + } } } ast_var_delete(n);