From 912cfb5aaa915829efe92cc34ad7ad888e93c14a Mon Sep 17 00:00:00 2001 From: default Date: Wed, 9 Aug 2023 15:54:36 +0200 Subject: Backport from xs. --- xs_curl.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'xs_curl.h') diff --git a/xs_curl.h b/xs_curl.h index dbc1325..9f9b63b 100644 --- a/xs_curl.h +++ b/xs_curl.h @@ -96,7 +96,7 @@ xs_dict *xs_http_request(const char *method, const char *url, xs_dict *p; xs_str *k; xs_val *v; - long lstatus; + long lstatus = 0; struct _payload_data pd; response = xs_dict_new(); @@ -160,7 +160,7 @@ xs_dict *xs_http_request(const char *method, const char *url, curl_easy_setopt(curl, CURLOPT_HTTPHEADER, list); /* do it */ - curl_easy_perform(curl); + CURLcode cc = curl_easy_perform(curl); curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &lstatus); @@ -168,8 +168,12 @@ xs_dict *xs_http_request(const char *method, const char *url, curl_slist_free_all(list); - if (status != NULL) + if (status != NULL) { + if (lstatus == 0) + lstatus = -cc; + *status = (int) lstatus; + } if (p_size != NULL) *p_size = ipd.size; -- cgit v1.2.3