Commit 961a349f authored by Max Kellermann's avatar Max Kellermann

playlist: moved code to song_by_url()

Replace some complicated checks from addToPlaylist() to the simpler function song_by_url().
parent 6d3488c8
...@@ -521,17 +521,30 @@ static void clearPlayerQueue(void) ...@@ -521,17 +521,30 @@ static void clearPlayerQueue(void)
pc_cancel(); pc_cancel();
} }
static struct song *
song_by_url(const char *url)
{
struct song *song;
song = db_get_song(url);
if (song != NULL)
return song;
if (isValidRemoteUtf8Url(url))
return song_remote_new(url);
return NULL;
}
enum playlist_result addToPlaylist(const char *url, int *added_id) enum playlist_result addToPlaylist(const char *url, int *added_id)
{ {
struct song *song; struct song *song;
DEBUG("add to playlist: %s\n", url); DEBUG("add to playlist: %s\n", url);
if ((song = db_get_song(url))) { song = song_by_url(url);
} else if (!(isValidRemoteUtf8Url(url) && if (song == NULL)
(song = song_remote_new(url)))) {
return PLAYLIST_RESULT_NO_SUCH_SONG; return PLAYLIST_RESULT_NO_SUCH_SONG;
}
return addSongToPlaylist(song, added_id); return addSongToPlaylist(song, added_id);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment