Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,10 @@ Daniel (17 November 2005) - I extended a patch from David Shaw to make libcurl _always_ provide an error string in the given error buffer to address the flaw mention on 21 sep 2005. Daniel (16 November 2005) - Applied Albert Chin's patch that makes the libcurl.pc pkgconfig file get installed on 'make install' time. Loading RELEASE-NOTES +2 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ This release includes the following changes: This release includes the following bugfixes: o CURLOPT_ERRORBUFFER is now always filled in on errors o curl outputs error on bad --limit-rate units o fixed libcurl's use of poll() on cygwin o the GnuTLS code didn't support client certificates Loading Loading @@ -51,6 +52,6 @@ advice from friends like these: Dave Dribin, Bradford Bruce, Temprimus, Ofer, Dima Barsky, Amol Pattekar, Jaz Fresh, tommink[at]post.pl, Gisle Vanem, Nis Jorgensen, Vilmos Nebehaj, Dmitry Bartsevich, David Lang, Eugene Kotlyarov, Jan Kunder, Yang Tse, Quagmire, Albert Chin Quagmire, Albert Chin, David Shaw Thanks! (and sorry if I forgot to mention someone) docs/libcurl/curl_easy_setopt.3 +0 −6 Original line number Diff line number Diff line Loading @@ -270,12 +270,6 @@ debug/trace why errors happen. If the library does not return an error, the buffer may not have been touched. Do not rely on the contents in those cases. In a few rare cases, there is no text string associated with the error in libcurl and then you may not get a string in the buffer even though it returns an error. This is considered a bug and we appreciate your reports about these cases. Anyway, you can avoid problems with these cases in your program by making sure to clear the first byte of the error buffer before you call curl_easy_perform(). .IP CURLOPT_STDERR Pass a FILE * as parameter. Tell libcurl to use this stream instead of stderr when showing the progress meter and displaying \fICURLOPT_VERBOSE\fP data. Loading lib/transfer.c +13 −0 Original line number Diff line number Diff line Loading @@ -2217,6 +2217,19 @@ CURLcode Curl_perform(struct SessionHandle *data) if(newurl) free(newurl); if(res && !data->state.errorbuf) { /* * As an extra precaution: if no error string has been set and there was * an error, use the strerror() string or if things are so bad that not * even that is good, set a bad string that mentions the error code. */ char *str = curl_easy_strerror(res); if(!str) failf(data, "unspecified error %d", (int)res); else failf(data, "%s", str); } /* run post-transfer uncondionally, but don't clobber the return code if we already have an error code recorder */ res2 = Curl_posttransfer(data); Loading Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,10 @@ Daniel (17 November 2005) - I extended a patch from David Shaw to make libcurl _always_ provide an error string in the given error buffer to address the flaw mention on 21 sep 2005. Daniel (16 November 2005) - Applied Albert Chin's patch that makes the libcurl.pc pkgconfig file get installed on 'make install' time. Loading
RELEASE-NOTES +2 −1 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ This release includes the following changes: This release includes the following bugfixes: o CURLOPT_ERRORBUFFER is now always filled in on errors o curl outputs error on bad --limit-rate units o fixed libcurl's use of poll() on cygwin o the GnuTLS code didn't support client certificates Loading Loading @@ -51,6 +52,6 @@ advice from friends like these: Dave Dribin, Bradford Bruce, Temprimus, Ofer, Dima Barsky, Amol Pattekar, Jaz Fresh, tommink[at]post.pl, Gisle Vanem, Nis Jorgensen, Vilmos Nebehaj, Dmitry Bartsevich, David Lang, Eugene Kotlyarov, Jan Kunder, Yang Tse, Quagmire, Albert Chin Quagmire, Albert Chin, David Shaw Thanks! (and sorry if I forgot to mention someone)
docs/libcurl/curl_easy_setopt.3 +0 −6 Original line number Diff line number Diff line Loading @@ -270,12 +270,6 @@ debug/trace why errors happen. If the library does not return an error, the buffer may not have been touched. Do not rely on the contents in those cases. In a few rare cases, there is no text string associated with the error in libcurl and then you may not get a string in the buffer even though it returns an error. This is considered a bug and we appreciate your reports about these cases. Anyway, you can avoid problems with these cases in your program by making sure to clear the first byte of the error buffer before you call curl_easy_perform(). .IP CURLOPT_STDERR Pass a FILE * as parameter. Tell libcurl to use this stream instead of stderr when showing the progress meter and displaying \fICURLOPT_VERBOSE\fP data. Loading
lib/transfer.c +13 −0 Original line number Diff line number Diff line Loading @@ -2217,6 +2217,19 @@ CURLcode Curl_perform(struct SessionHandle *data) if(newurl) free(newurl); if(res && !data->state.errorbuf) { /* * As an extra precaution: if no error string has been set and there was * an error, use the strerror() string or if things are so bad that not * even that is good, set a bad string that mentions the error code. */ char *str = curl_easy_strerror(res); if(!str) failf(data, "unspecified error %d", (int)res); else failf(data, "%s", str); } /* run post-transfer uncondionally, but don't clobber the return code if we already have an error code recorder */ res2 = Curl_posttransfer(data); Loading