aboutsummaryrefslogtreecommitdiffstats
path: root/src/input_curl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/input_curl.c')
-rw-r--r--src/input_curl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/input_curl.c b/src/input_curl.c
index 8372f9924..afa85eb36 100644
--- a/src/input_curl.c
+++ b/src/input_curl.c
@@ -194,6 +194,7 @@ input_curl_multi_info_read(struct input_stream *is)
&msgs_in_queue)) != NULL) {
if (msg->msg == CURLMSG_DONE) {
c->eof = true;
+ is->ready = true;
if (msg->data.result != CURLE_OK) {
g_warning("curl failed: %s\n", c->error);
@@ -389,6 +390,7 @@ input_curl_read(struct input_stream *is, void *ptr, size_t size)
g_warning("curl_multi_perform() failed: %s\n",
curl_multi_strerror(mcode));
c->eof = true;
+ is->ready = true;
return 0;
}
@@ -491,6 +493,7 @@ input_curl_buffer(struct input_stream *is)
g_warning("curl_multi_perform() failed: %s\n",
curl_multi_strerror(mcode));
c->eof = true;
+ is->ready = true;
return -1;
}
@@ -784,6 +787,8 @@ input_curl_seek(struct input_stream *is, off_t offset, int whence)
struct input_curl *c = is->data;
bool ret;
+ assert(is->ready);
+
if (whence == SEEK_SET && offset == 0) {
if (is->offset == 0)
/* no-op */