From 8cad20585dbbf5987d6649bea9c6b6ba688b7bff Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 29 Jan 2013 18:51:40 +0100 Subject: playlist/memory: use std::forward_list instead of GSList --- src/playlist/PlsPlaylistPlugin.cxx | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'src/playlist/PlsPlaylistPlugin.cxx') diff --git a/src/playlist/PlsPlaylistPlugin.cxx b/src/playlist/PlsPlaylistPlugin.cxx index cecabc88e..3cf5f46e5 100644 --- a/src/playlist/PlsPlaylistPlugin.cxx +++ b/src/playlist/PlsPlaylistPlugin.cxx @@ -27,11 +27,8 @@ #include -struct PlsPlaylist { - GSList *songs; -}; - -static void pls_parser(GKeyFile *keyfile, PlsPlaylist *playlist) +static void +pls_parser(GKeyFile *keyfile, std::forward_list &songs) { gchar *key; gchar *value; @@ -96,7 +93,7 @@ static void pls_parser(GKeyFile *keyfile, PlsPlaylist *playlist) if(error) g_error_free(error); error = NULL; - playlist->songs = g_slist_prepend(playlist->songs, song); + songs.emplace_front(song); num_entries--; } @@ -150,13 +147,12 @@ pls_open_stream(struct input_stream *is) return NULL; } - PlsPlaylist playlist; - playlist.songs = nullptr; - - pls_parser(keyfile, &playlist); + std::forward_list songs; + pls_parser(keyfile, songs); g_key_file_free(keyfile); - return new MemoryPlaylistProvider(g_slist_reverse(playlist.songs)); + songs.reverse(); + return new MemoryPlaylistProvider(std::move(songs)); } static const char *const pls_suffixes[] = { -- cgit v1.2.3