aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl/opts
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libcurl/opts')
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.325
1 files changed, 21 insertions, 4 deletions
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
index 577202cfc..24b405490 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -51,15 +51,32 @@ All
.nf
curl = curl_easy_init();
if(curl) {
- char error[CURL_ERROR_SIZE]
+ CURLcode res;
+ char errbuf[CURL_ERROR_SIZE];
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
/* provide a buffer to store errors in */
- curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error);
+ curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errbuf);
- /* Perform the request */
- curl_easy_perform(curl);
+ /* set the error buffer as empty before performing a request */
+ errbuf[0] = 0;
+
+ /* perform the request */
+ res = curl_easy_perform(curl);
+
+ /* if the request did not complete correctly, show the error information.
+ if no detailed error information was written to errbuf show the more generic
+ information from curl_easy_strerror instead.
+ */
+ if(res != CURLE_OK) {
+ size_t len = strlen(errbuf);
+ fprintf(stderr, "\nlibcurl: (%d) ", res);
+ if(len)
+ fprintf(stderr, "%s%s", errbuf, ((errbuf[len - 1] != '\n') ? "\n" : ""));
+ else
+ fprintf(stderr, "%s\n", curl_easy_strerror(res));
+ }
}
.fi
.SH AVAILABILITY