[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tracklist: fix inf loop on ENOENT with repeat==1
From: |
Eric Wong |
Subject: |
[PATCH] tracklist: fix inf loop on ENOENT with repeat==1 |
Date: |
Sun, 10 May 2015 07:47:07 +0000 |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] tracklist: fix inf loop on ENOENT with repeat==1,
Eric Wong <=