diff options
author | Max Kellermann <max@duempel.org> | 2014-12-09 13:36:48 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2014-12-09 13:36:48 +0100 |
commit | 0cfd4fff62be0e2fd16041347ba7dfa7b84fec11 (patch) | |
tree | a8ec6993fc4b06274e244edcd137d0c519a5753f | |
parent | 8904127c10d8adfe9b76f1fb74d89c17ec67fa1a (diff) | |
download | mpd-0cfd4fff62be0e2fd16041347ba7dfa7b84fec11.tar.gz mpd-0cfd4fff62be0e2fd16041347ba7dfa7b84fec11.tar.xz mpd-0cfd4fff62be0e2fd16041347ba7dfa7b84fec11.zip |
playlist/Print: don't skip non-existent songs in "listplaylist"
Skipping those songs silently will confuse the client, because
commands specifying the song index within a playlist
(e.g. playlistdelete) will be out of sync.
This copies spl_print()'s behavior to playlist_file_print().
Diffstat (limited to '')
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/playlist/Print.cxx | 13 |
2 files changed, 9 insertions, 6 deletions
@@ -1,4 +1,6 @@ ver 0.19.7 (not yet released) +* playlist + - don't skip non-existent songs in "listplaylist" ver 0.19.6 (2014/12/08) * decoder diff --git a/src/playlist/Print.cxx b/src/playlist/Print.cxx index 0db2a4ab0..8f743f56d 100644 --- a/src/playlist/Print.cxx +++ b/src/playlist/Print.cxx @@ -43,12 +43,13 @@ playlist_provider_print(Client &client, const char *uri, DetachedSong *song; while ((song = e.NextSong()) != nullptr) { if (playlist_check_translate_song(*song, base_uri.c_str(), - loader)) { - if (detail) - song_print_info(client, *song); - else - song_print_uri(client, *song); - } + loader) && + detail) + song_print_info(client, *song); + else + /* fallback if no detail was requested or no + detail was available */ + song_print_uri(client, *song); delete song; } |