diff options
Diffstat (limited to 'xs_curl.h')
-rw-r--r-- | xs_curl.h | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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; |