From 3d590b1efa75ab53b57f56972c4893823340ca40 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Sat, 14 Jun 2008 21:43:52 +0000 Subject: Handle errors returned by curl_multi_perform(), such as out of memory, instead of exiting. svn path=/trunk/netsurf/; revision=4329 --- content/fetchers/fetch_curl.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'content/fetchers') diff --git a/content/fetchers/fetch_curl.c b/content/fetchers/fetch_curl.c index 1bbe9d26f..a88038205 100644 --- a/content/fetchers/fetch_curl.c +++ b/content/fetchers/fetch_curl.c @@ -718,7 +718,12 @@ void fetch_curl_poll(const char *scheme_ignored) /* do any possible work on the current fetches */ do { codem = curl_multi_perform(fetch_curl_multi, &running); - assert(codem == CURLM_OK || codem == CURLM_CALL_MULTI_PERFORM); + if (codem != CURLM_OK && codem != CURLM_CALL_MULTI_PERFORM) { + LOG(("curl_multi_perform: %i %s", + codem, curl_multi_strerror(codem))); + warn_user("MiscError", curl_multi_strerror(codem)); + return; + } } while (codem == CURLM_CALL_MULTI_PERFORM); /* process curl results */ @@ -1138,7 +1143,7 @@ bool fetch_curl_process_headers(struct curl_fetch_info *f) /* file: URL and file exists */ /* create etag */ char etag_buf[20]; - snprintf(etag_buf, sizeof etag_buf, + snprintf(etag_buf, sizeof etag_buf, "ETag: \"%10d\"", (int) s.st_mtime); /* And send it to the header handler */ fetch_send_callback(FETCH_HEADER, f->fetch_handle, etag_buf, -- cgit v1.2.3