From d14a6559018e89d593a5576611eceda9f3b341b0 Mon Sep 17 00:00:00 2001 From: "J. Alexander Treuman" Date: Sat, 26 May 2007 15:00:38 +0000 Subject: Cleaning up addToStoredPlaylist. Now we call freeJustSong if adding a URL. git-svn-id: https://svn.musicpd.org/mpd/trunk@6269 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/playlist.c | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/playlist.c b/src/playlist.c index 5536dcf8d..390cae8b9 100644 --- a/src/playlist.c +++ b/src/playlist.c @@ -586,17 +586,26 @@ int addToStoredPlaylist(int fd, char *url, char *utf8file) DEBUG("add to stored playlist: %s\n", url); - if ((song = getSongFromDB(url))) { - } else if (!(isValidRemoteUtf8Url(url) && - (song = newSong(url, SONG_TYPE_URL, NULL)))) { - commandError(fd, ACK_ERROR_NO_EXIST, - "\"%s\" is not in the music db or is " - "not a valid url", url); - return -1; + song = getSongFromDB(url); + if (song) { + appendSongToStoredPlaylistByPath(fd, utf8file, song); + return 0; } - appendSongToStoredPlaylistByPath(fd, utf8file, song); - return 0; + if (!isValidRemoteUtf8Url(url)) + goto fail; + + song = newSong(url, SONG_TYPE_URL, NULL); + if (song) { + appendSongToStoredPlaylistByPath(fd, utf8file, song); + freeJustSong(song); + return 0; + } + +fail: + commandError(fd, ACK_ERROR_NO_EXIST, "\"%s\" is not in the music db" + "or is not a valid url", url); + return -1; } int addSongToPlaylist(int fd, Song * song, int printId) -- cgit v1.2.3