From 7fe07324d7f7174f9e3868a74c3d3ce2a8073632 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 11 Jan 2018 19:59:27 +0100 Subject: [PATCH] playlist/SoundCloud: soundcloud_parse_json() throws exception --- src/playlist/plugins/SoundCloudPlaylistPlugin.cxx | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx b/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx index 276de5c52..9813c58ed 100644 --- a/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx +++ b/src/playlist/plugins/SoundCloudPlaylistPlugin.cxx @@ -221,12 +221,11 @@ static constexpr yajl_callbacks parse_callbacks = { * Read JSON data and parse it using the given YAJL parser. * @param url URL of the JSON data. * @param handle YAJL parser handle. - * @return -1 on error, 0 on success. */ -static int +static void soundcloud_parse_json(const char *url, Yajl::Handle &handle, Mutex &mutex, Cond &cond) -try { +{ auto input_stream = InputStream::OpenReady(url, mutex, cond); const std::lock_guard protect(mutex); @@ -245,11 +244,6 @@ try { } else handle.Parse(buffer, nbytes); } - - return 0; -} catch (const std::exception &e) { - LogError(e); - return -1; } /** @@ -302,10 +296,7 @@ soundcloud_open_uri(const char *uri, Mutex &mutex, Cond &cond) SoundCloudJsonData data; Yajl::Handle handle(&parse_callbacks, nullptr, &data); - int ret = soundcloud_parse_json(u, handle, mutex, cond); - - if (ret == -1) - return nullptr; + soundcloud_parse_json(u, handle, mutex, cond); data.songs.reverse(); return new MemorySongEnumerator(std::move(data.songs));