Commit 7fe07324 authored by Max Kellermann's avatar Max Kellermann

playlist/SoundCloud: soundcloud_parse_json() throws exception

parent 8e29430f
...@@ -221,12 +221,11 @@ static constexpr yajl_callbacks parse_callbacks = { ...@@ -221,12 +221,11 @@ static constexpr yajl_callbacks parse_callbacks = {
* Read JSON data and parse it using the given YAJL parser. * Read JSON data and parse it using the given YAJL parser.
* @param url URL of the JSON data. * @param url URL of the JSON data.
* @param handle YAJL parser handle. * @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, soundcloud_parse_json(const char *url, Yajl::Handle &handle,
Mutex &mutex, Cond &cond) Mutex &mutex, Cond &cond)
try { {
auto input_stream = InputStream::OpenReady(url, mutex, cond); auto input_stream = InputStream::OpenReady(url, mutex, cond);
const std::lock_guard<Mutex> protect(mutex); const std::lock_guard<Mutex> protect(mutex);
...@@ -245,11 +244,6 @@ try { ...@@ -245,11 +244,6 @@ try {
} else } else
handle.Parse(buffer, nbytes); 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) ...@@ -302,10 +296,7 @@ soundcloud_open_uri(const char *uri, Mutex &mutex, Cond &cond)
SoundCloudJsonData data; SoundCloudJsonData data;
Yajl::Handle handle(&parse_callbacks, nullptr, &data); Yajl::Handle handle(&parse_callbacks, nullptr, &data);
int ret = soundcloud_parse_json(u, handle, mutex, cond); soundcloud_parse_json(u, handle, mutex, cond);
if (ret == -1)
return nullptr;
data.songs.reverse(); data.songs.reverse();
return new MemorySongEnumerator(std::move(data.songs)); return new MemorySongEnumerator(std::move(data.songs));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment