summaryrefslogtreecommitdiff
path: root/content/fetchers
diff options
context:
space:
mode:
authorDaniel Silverstone <dsilvers@digital-scurf.org>2016-06-27 21:00:58 +0100
committerDaniel Silverstone <dsilvers@digital-scurf.org>2016-06-27 21:00:58 +0100
commita468b409901236ecf77f0cbd81dfeda96cebc758 (patch)
tree9796fda726d37a3a30da44fbcb8690d200b2b079 /content/fetchers
parentab6c03f3112ef01e41a8a1e931a6990636edbae4 (diff)
downloadnetsurf-a468b409901236ecf77f0cbd81dfeda96cebc758.tar.gz
netsurf-a468b409901236ecf77f0cbd81dfeda96cebc758.tar.bz2
Refactor the fdset acquisition into the fetchers to stop fetch.c including curl.h
Diffstat (limited to 'content/fetchers')
-rw-r--r--content/fetchers/curl.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/content/fetchers/curl.c b/content/fetchers/curl.c
index 10a0d9918..66970ef7e 100644
--- a/content/fetchers/curl.c
+++ b/content/fetchers/curl.c
@@ -1374,6 +1374,23 @@ fetch_curl_header(char *data, size_t size, size_t nmemb, void *_f)
#undef SKIP_ST
}
+static int fetch_curl_fdset(lwc_string *scheme, fd_set *read_set,
+ fd_set *write_set, fd_set *error_set)
+{
+ CURLMcode code;
+ int maxfd = -1;
+
+ code = curl_multi_fdset(fetch_curl_multi,
+ read_set,
+ write_set,
+ error_set,
+ &maxfd);
+ assert(code == CURLM_OK);
+
+ return maxfd;
+}
+
+
/* exported function documented in content/fetchers/curl.h */
nserror fetch_curl_register(void)
@@ -1390,6 +1407,7 @@ nserror fetch_curl_register(void)
.abort = fetch_curl_abort,
.free = fetch_curl_free,
.poll = fetch_curl_poll,
+ .fdset = fetch_curl_fdset,
.finalise = fetch_curl_finalise
};