aboutsummaryrefslogtreecommitdiff
path: root/src/stored_playlist.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-10-22 17:23:11 +0200
committerMax Kellermann <max@duempel.org>2008-10-22 17:23:11 +0200
commit1da921f03cc3063dc309d0e1afdcd41e201f55a2 (patch)
tree9662e1635b2404a429fc0b725716ac7efa40d9c5 /src/stored_playlist.c
parentac853b6165f8c9b0caa414d4c7182715e28152f6 (diff)
stored_playlist: moved functions from playlist.c
The two functions clearStoredPlaylist() and addToStoredPlaylist() don't belong into playlist.c. clearStoredPlaylist() was a wrapper for spl_clear(), and is converted into a CPP macro for now.
Diffstat (limited to 'src/stored_playlist.c')
-rw-r--r--src/stored_playlist.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/stored_playlist.c b/src/stored_playlist.c
index 8b3b5de2..1a8d64e5 100644
--- a/src/stored_playlist.c
+++ b/src/stored_playlist.c
@@ -25,6 +25,7 @@
#include "ls.h"
#include "database.h"
#include "idle.h"
+#include "ack.h"
#include "os_compat.h"
static ListNode *
@@ -316,6 +317,27 @@ spl_append_song(const char *utf8path, struct song *song)
return PLAYLIST_RESULT_SUCCESS;
}
+int addToStoredPlaylist(const char *url, const char *utf8file)
+{
+ struct song *song;
+
+ song = db_get_song(url);
+ if (song)
+ return spl_append_song(utf8file, song);
+
+ if (!isValidRemoteUtf8Url(url))
+ return ACK_ERROR_NO_EXIST;
+
+ song = song_remote_new(url);
+ if (song) {
+ int ret = spl_append_song(utf8file, song);
+ song_free(song);
+ return ret;
+ }
+
+ return ACK_ERROR_NO_EXIST;
+}
+
enum playlist_result
spl_rename(const char *utf8from, const char *utf8to)
{