everything related to duct tape audio suite (dtas)
 help / color / mirror / code / Atom feed
* [PATCH] tracklist: fix inf loop on ENOENT with repeat==1
@ 2015-05-10  7:47 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2015-05-10  7:47 UTC (permalink / raw)
  To: dtas-all; +Cc: Eric Wong

If a file is missing, we must not respect the repeat option
set by the user to avoid infinite looping
---
 lib/dtas/tracklist.rb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/dtas/tracklist.rb b/lib/dtas/tracklist.rb
index c008204..63fe4ec 100644
--- a/lib/dtas/tracklist.rb
+++ b/lib/dtas/tracklist.rb
@@ -69,12 +69,13 @@ class DTAS::Tracklist # :nodoc:
   def advance_track(repeat_ok = true)
     return if @list.empty?
     # @repeat == 1 for single track repeat
-    next_pos = @goto_pos || @pos + (@repeat == 1 ? 0 : 1)
+    repeat = repeat_ok ? @repeat : false
+    next_pos = @goto_pos || @pos + (repeat == 1 ? 0 : 1)
     next_off = @goto_off # nil by default
     @goto_pos = @goto_off = nil
     if @list[next_pos]
       @pos = next_pos
-    elsif @repeat && repeat_ok
+    elsif repeat
       next_pos = @pos = 0
     else
       return
-- 
EW



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-05-10  7:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-10  7:47 [PATCH] tracklist: fix inf loop on ENOENT with repeat==1 Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/dtas.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).