From af17e7eadf5d3bf3a2f28feccb37611bd69e4509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Dardenne?= Date: Wed, 14 Jan 2015 22:55:03 +0100 Subject: [PATCH] mpd: fix floating point exception when adding random tags/songs --- NEWS | 4 ++++ src/mpdpp.cpp | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 172d2844..442e252d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +ncmpcpp-0.6.3 (????-??-??) + +* Fix floating point exception when adding a specific number of random items. + ncmpcpp-0.6.2 (2014-12-13) * Delete key now aditionally binds by default to action that deletes files in browser. diff --git a/src/mpdpp.cpp b/src/mpdpp.cpp index 4bcd5aac..b715e0f3 100644 --- a/src/mpdpp.cpp +++ b/src/mpdpp.cpp @@ -505,7 +505,7 @@ bool Connection::AddRandomTag(mpd_tag_type tag, size_t number) else { std::random_shuffle(tags.begin(), tags.end()); - auto it = tags.begin()+rand()%(tags.size()-number); + auto it = tags.begin(); for (size_t i = 0; i < number && it != tags.end(); ++i) { StartSearch(1); @@ -546,7 +546,7 @@ bool Connection::AddRandomSongs(size_t number) { std::random_shuffle(files.begin(), files.end()); StartCommandsList(); - auto it = files.begin()+rand()%(std::max(size_t(1), files.size()-number)); + auto it = files.begin(); for (size_t i = 0; i < number && it != files.end(); ++i, ++it) AddSong(*it); CommitCommandsList();