diff options
author | Jay Satiro <raysatiro@yahoo.com> | 2015-06-17 02:25:51 -0400 |
---|---|---|
committer | Jay Satiro <raysatiro@yahoo.com> | 2015-06-17 02:25:51 -0400 |
commit | 52d83cb0c602851f5867024049b7a38633101cbc (patch) | |
tree | 9c228c009556e67c935f1bbc16f8b91e3a3f9ec2 /docs/libcurl/opts | |
parent | 38e07886ed2792988217a2ffa482ce3a69ca92c2 (diff) |
CURLOPT_ERRORBUFFER.3: Improve example
Diffstat (limited to 'docs/libcurl/opts')
-rw-r--r-- | docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 | 25 |
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 |