aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/command.c20
-rw-r--r--src/ls.c18
-rw-r--r--src/ls.h2
3 files changed, 18 insertions, 22 deletions
diff --git a/src/command.c b/src/command.c
index c1f0b3f3d..dbdbe4003 100644
--- a/src/command.c
+++ b/src/command.c
@@ -202,6 +202,17 @@ static int print_playlist_result(struct client *client,
return -1;
}
+static void
+print_spl_list(struct client *client, GPtrArray *list)
+{
+ for (unsigned i = 0; i < list->len; ++i) {
+ struct stored_playlist_info *playlist =
+ g_ptr_array_index(list, i);
+
+ client_printf(client, "playlist: %s\n", playlist->name);
+ }
+}
+
static int handleUrlHandlers(struct client *client,
mpd_unused int argc, mpd_unused char *argv[])
{
@@ -524,8 +535,13 @@ static int handleLsInfo(struct client *client,
directory_print(client, directory);
- if (isRootDirectory(path))
- return lsPlaylists(client, path);
+ if (isRootDirectory(path)) {
+ GPtrArray *list = spl_list();
+ if (list != NULL) {
+ print_spl_list(client, list);
+ spl_list_free(list);
+ }
+ }
return 0;
}
diff --git a/src/ls.c b/src/ls.c
index 15b7b4813..b70952214 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -98,24 +98,6 @@ int isRemoteUrl(const char *url)
return 0;
}
-int lsPlaylists(struct client *client, const char *utf8path)
-{
- GPtrArray *list = spl_list();
- if (list == NULL)
- return 0;
-
- for (unsigned i = 0; i < list->len; ++i) {
- struct stored_playlist_info *playlist =
- g_ptr_array_index(list, i);
-
- client_printf(client, "playlist: %s%s\n",
- utf8path, playlist->name);
- }
-
- spl_list_free(list);
- return 0;
-}
-
/* suffixes should be ascii only characters */
const char *getSuffix(const char *utf8file)
{
diff --git a/src/ls.h b/src/ls.h
index 77af6168a..ddfc3c319 100644
--- a/src/ls.h
+++ b/src/ls.h
@@ -26,8 +26,6 @@
struct stat;
struct client;
-int lsPlaylists(struct client *client, const char *utf8path);
-
const char *getSuffix(const char *utf8file);
int isValidRemoteUtf8Url(const char *utf8url);