summaryrefslogtreecommitdiff
path: root/content/fetch.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2014-10-25 17:10:08 +0100
committerVincent Sanders <vince@kyllikki.org>2014-10-25 17:15:23 +0100
commit53f0f432dd2aa915765e3b2869928a18f09adad8 (patch)
treeed7fbb13adb6ea293f15c870490df20b71865521 /content/fetch.c
parent7cf5cf7cb7797d7f39bb101504822da44ccc3355 (diff)
downloadnetsurf-53f0f432dd2aa915765e3b2869928a18f09adad8.tar.gz
netsurf-53f0f432dd2aa915765e3b2869928a18f09adad8.tar.bz2
update fetcher registration API to return an error code.
By using an error code return we can gracefully handle fetcher registration faliures instead of just immediately aborting. The curl handler was also cleaned up and documentation improved as a side effect.
Diffstat (limited to 'content/fetch.c')
-rw-r--r--content/fetch.c36
1 files changed, 29 insertions, 7 deletions
diff --git a/content/fetch.c b/content/fetch.c
index 7923e9af3..2c326e877 100644
--- a/content/fetch.c
+++ b/content/fetch.c
@@ -287,14 +287,36 @@ static void fetcher_poll(void *unused)
/* exported interface documented in content/fetch.h */
nserror fetcher_init(void)
{
- fetch_curl_register();
- fetch_data_register();
- fetch_file_register();
- fetch_resource_register();
- fetch_about_register();
- fetch_javascript_register();
+ nserror ret;
- return NSERROR_OK;
+ ret = fetch_curl_register();
+ if (ret != NSERROR_OK) {
+ return ret;
+ }
+
+ ret = fetch_data_register();
+ if (ret != NSERROR_OK) {
+ return ret;
+ }
+
+ ret = fetch_file_register();
+ if (ret != NSERROR_OK) {
+ return ret;
+ }
+
+ ret = fetch_resource_register();
+ if (ret != NSERROR_OK) {
+ return ret;
+ }
+
+ ret = fetch_about_register();
+ if (ret != NSERROR_OK) {
+ return ret;
+ }
+
+ ret = fetch_javascript_register();
+
+ return ret;
}
/* exported interface documented in content/fetchers.h */