diff options
Diffstat (limited to '')
-rw-r--r-- | src/command.c | 20 | ||||
-rw-r--r-- | src/ls.c | 18 | ||||
-rw-r--r-- | src/ls.h | 2 |
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; } @@ -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) { @@ -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); |