diff options
Diffstat (limited to 'src/playlist/pls_playlist_plugin.c')
-rw-r--r-- | src/playlist/pls_playlist_plugin.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/playlist/pls_playlist_plugin.c b/src/playlist/pls_playlist_plugin.c index 5308b7160..30c62b76e 100644 --- a/src/playlist/pls_playlist_plugin.c +++ b/src/playlist/pls_playlist_plugin.c @@ -115,9 +115,18 @@ pls_open_stream(struct input_stream *is) GString *kf_data = g_string_new(""); do { - nbytes = input_stream_read(is, buffer, sizeof(buffer)); - if(nbytes ==0) + nbytes = input_stream_read(is, buffer, sizeof(buffer), &error); + if (nbytes == 0) { + if (error != NULL) { + g_string_free(kf_data, TRUE); + g_warning("%s", error->message); + g_error_free(error); + return NULL; + } + break; + } + kf_data = g_string_append_len(kf_data, buffer,nbytes); /* Limit to 64k */ } while(kf_data->len < 65536); |