From 17d8bdb427eb179b06bff8f9229decafc93de1d6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 4 Jan 2009 16:23:33 +0100 Subject: playlist: use uri_has_scheme() instead of isRemoteUrl() For internal checks (i.e. not in command.c), we need to check whether an URI is in the databse, in the local file system or a remote URI with a scheme. --- src/playlist.c | 2 +- src/playlist_save.c | 2 +- src/stored_playlist.c | 23 +++++++++++------------ 3 files changed, 13 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/playlist.c b/src/playlist.c index 49b3460f0..6a29e8852 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -565,7 +565,7 @@ song_by_url(const char *url) if (song != NULL) return song; - if (isRemoteUrl(url)) + if (uri_has_scheme(url)) return song_remote_new(url); return NULL; diff --git a/src/playlist_save.c b/src/playlist_save.c index 4c9d0b2f4..dbe389a96 100644 --- a/src/playlist_save.c +++ b/src/playlist_save.c @@ -50,7 +50,7 @@ playlist_print_uri(FILE *file, const char *uri) char tmp[MPD_PATH_MAX]; char *s; - if (playlist_saveAbsolutePaths && !isRemoteUrl(uri) && + if (playlist_saveAbsolutePaths && !uri_has_scheme(uri) && uri[0] != '/') s = map_uri_fs(uri); else diff --git a/src/stored_playlist.c b/src/stored_playlist.c index a21feeeee..25a4ce85a 100644 --- a/src/stored_playlist.c +++ b/src/stored_playlist.c @@ -165,7 +165,7 @@ spl_load(const char *utf8path) g_strchomp(buffer); - if (!isRemoteUrl(s)) { + if (!uri_has_scheme(s)) { struct song *song; path_utf8 = map_fs_to_utf8(s, path_max_tmp); @@ -366,21 +366,20 @@ spl_append_uri(const char *url, const char *utf8file) { struct song *song; - song = db_get_song(url); - if (song) - return spl_append_song(utf8file, song); - - if (!isRemoteUrl(url)) - return PLAYLIST_RESULT_NO_SUCH_SONG; + if (uri_has_scheme(url)) { + enum playlist_result ret; - song = song_remote_new(url); - if (song) { - enum playlist_result ret = spl_append_song(utf8file, song); + song = song_remote_new(url); + ret = spl_append_song(utf8file, song); song_free(song); return ret; - } + } else { + song = db_get_song(url); + if (song == NULL) + return PLAYLIST_RESULT_NO_SUCH_SONG; - return PLAYLIST_RESULT_NO_SUCH_SONG; + return spl_append_song(utf8file, song); + } } static enum playlist_result -- cgit v1.2.3