pull/190/merge
jason 2018-07-21 01:12:14 +00:00 committed by GitHub
commit 0a0a79dbd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 1 deletions

View File

@ -85,6 +85,11 @@ func (q *Queue) InsertTrack(i int, t interfaces.Track) error {
q.mutex.Lock()
beforeLen := len(q.Queue)
if i < 0 || i > beforeLen {
q.mutex.Unlock()
return errors.New("Adding at invalid index in queue")
}
// An error should never occur here since maxTrackDuration is restricted to
// ints. Any error in the configuration will be caught during yaml load.
maxTrackDuration, _ := time.ParseDuration(fmt.Sprintf("%ds",

View File

@ -75,7 +75,11 @@ func (c *AddNextCommand) Execute(user *gumble.User, args ...string) (string, boo
numAdded := 0
// We must loop backwards here to preserve the track order when inserting tracks.
for i := len(allTracks) - 1; i >= 0; i-- {
if err = DJ.Queue.InsertTrack(1, allTracks[i]); err != nil {
insertIndex := 1
if DJ.Queue.Length() == 0 {
insertIndex = 0
}
if err = DJ.Queue.InsertTrack(insertIndex, allTracks[i]); err != nil {
numTooLong++
} else {
numAdded++

View File

@ -6,3 +6,5 @@
*/
package commands
// TODO: Add regression test for bug where addnext fails on an empty queue.