diff -ur curl-7.11.0/configure.ac curl-7.11.0-new/configure.ac --- curl-7.11.0/configure.ac 2004-01-19 09:54:07.000000000 +1100 +++ curl-7.11.0-new/configure.ac 2004-02-28 15:04:57.000000000 +1100 @@ -1009,7 +1009,7 @@ CPPFLAGS="$CPPFLAGS -DCURLDEBUG" CFLAGS="$CFLAGS -g" if test "$GCC" = "yes"; then - CFLAGS="$CFLAGS -W -Wall -Wwrite-strings -pedantic -Wno-long-long -Wundef -Wpointer-arith -Wnested-externs" + CFLAGS="$CFLAGS -W -Wall -Wwrite-strings -pedantic -Wno-long-long -Wundef -Wpointer-arith -Wnested-externs -Werror" fi dnl strip off optimizer flags NEWFLAGS="" diff -ur curl-7.11.0/docs/INTERNALS curl-7.11.0-new/docs/INTERNALS --- curl-7.11.0/docs/INTERNALS 2002-02-28 19:01:08.000000000 +1100 +++ curl-7.11.0-new/docs/INTERNALS 2004-03-10 10:30:08.000000000 +1100 @@ -310,6 +310,11 @@ them. They are best used when revealing information that isn't otherwise obvious. + You can also use the curl_easy_strerror function to translate CURLcode + values into human-readable error descriptions, or the curl_multi_strerror + function to translate CURLMcode values into human-readable error + descriptions. + Client ====== diff -ur curl-7.11.0/docs/libcurl/curl_easy_getinfo.3 curl-7.11.0-new/docs/libcurl/curl_easy_getinfo.3 --- curl-7.11.0/docs/libcurl/curl_easy_getinfo.3 2003-12-19 03:16:19.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_easy_getinfo.3 2004-02-28 17:32:48.000000000 +1100 @@ -111,6 +111,7 @@ If the operation was successful, CURLE_OK is returned. Otherwise an appropriate error code will be returned. .SH "SEE ALSO" -.BR curl_easy_setopt "(3)" +.BR curl_easy_setopt "(3)," +.BR libcurl-errors "(3)" .SH BUGS Surely there are some, you tell me! diff -ur curl-7.11.0/docs/libcurl/curl_easy_perform.3 curl-7.11.0-new/docs/libcurl/curl_easy_perform.3 --- curl-7.11.0/docs/libcurl/curl_easy_perform.3 2002-03-04 21:09:49.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_easy_perform.3 2004-02-28 17:33:28.000000000 +1100 @@ -41,6 +41,8 @@ there will be a readable error message in the error buffer when non-zero is returned. .SH "SEE ALSO" -.BR curl_easy_init "(3), " curl_easy_setopt "(3), " +.BR curl_easy_init "(3)," +.BR curl_easy_setopt "(3)," +.BR libcurl-errors "(3)" .SH BUGS Surely there are some, you tell me! diff -ur curl-7.11.0/docs/libcurl/curl_easy_setopt.3 curl-7.11.0-new/docs/libcurl/curl_easy_setopt.3 --- curl-7.11.0/docs/libcurl/curl_easy_setopt.3 2004-01-22 20:15:37.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_easy_setopt.3 2004-02-28 17:33:52.000000000 +1100 @@ -885,4 +885,6 @@ error occurred as \fI\fP defines. See the \fIlibcurl-errors.3\fP man page for the full list with descriptions. .SH "SEE ALSO" -.BR curl_easy_init "(3), " curl_easy_cleanup "(3), " +.BR curl_easy_init "(3)," +.BR curl_easy_cleanup "(3)," +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/curl_formparse.3 curl-7.11.0-new/docs/libcurl/curl_formparse.3 --- curl-7.11.0/docs/libcurl/curl_formparse.3 2002-03-04 21:09:49.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_formparse.3 2004-02-28 17:34:17.000000000 +1100 @@ -16,3 +16,5 @@ This has been removed deliberately. The \fBcurl_formadd\fP has been introduced to replace this function. Do not use this. Convert to the new function now. curl_formparse() will be removed from a future version of libcurl. +.SH "SEE ALSO" +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/curl_global_init.3 curl-7.11.0-new/docs/libcurl/curl_global_init.3 --- curl-7.11.0/docs/libcurl/curl_global_init.3 2002-03-04 21:09:49.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_global_init.3 2004-02-28 17:34:35.000000000 +1100 @@ -43,7 +43,7 @@ If this function returns non-zero, something went wrong and you cannot use the other curl functions. .SH "SEE ALSO" -.BR curl_global_cleanup "(3), " +.BR curl_global_cleanup "(3)," +.BR libcurl-errors "(3)" .SH BUGS None. - diff -ur curl-7.11.0/docs/libcurl/curl_multi_add_handle.3 curl-7.11.0-new/docs/libcurl/curl_multi_add_handle.3 --- curl-7.11.0/docs/libcurl/curl_multi_add_handle.3 2002-03-08 18:54:05.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_multi_add_handle.3 2004-02-28 17:29:54.000000000 +1100 @@ -17,4 +17,6 @@ .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" -.BR curl_multi_cleanup "(3)," curl_multi_init "(3)" +.BR curl_multi_cleanup "(3)," +.BR curl_multi_init "(3)," +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/curl_multi_cleanup.3 curl-7.11.0-new/docs/libcurl/curl_multi_cleanup.3 --- curl-7.11.0/docs/libcurl/curl_multi_cleanup.3 2002-03-04 21:09:49.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_multi_cleanup.3 2004-02-28 17:29:38.000000000 +1100 @@ -15,4 +15,7 @@ .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" -.BR curl_multi_init "(3)," curl_easy_cleanup "(3)," curl_easy_init "(3)" +.BR curl_multi_init "(3)," +.BR curl_easy_cleanup "(3)," +.BR curl_easy_init "(3)," +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/curl_multi_fdset.3 curl-7.11.0-new/docs/libcurl/curl_multi_fdset.3 --- curl-7.11.0/docs/libcurl/curl_multi_fdset.3 2002-10-15 18:39:30.000000000 +1000 +++ curl-7.11.0-new/docs/libcurl/curl_multi_fdset.3 2004-02-28 17:31:03.000000000 +1100 @@ -24,4 +24,6 @@ .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" -.BR curl_multi_cleanup "(3)," curl_multi_init "(3)" +.BR curl_multi_cleanup "(3)," +.BR curl_multi_init "(3)," +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/curl_multi_perform.3 curl-7.11.0-new/docs/libcurl/curl_multi_perform.3 --- curl-7.11.0/docs/libcurl/curl_multi_perform.3 2002-12-03 23:40:13.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_multi_perform.3 2004-02-28 17:31:36.000000000 +1100 @@ -33,4 +33,6 @@ file descriptors, then it'll wait for action on them using select() and as soon as one or more of them are ready, \fIcurl_multi_perform\fP gets called. .SH "SEE ALSO" -.BR curl_multi_cleanup "(3)," curl_multi_init "(3)" +.BR curl_multi_cleanup "(3)," +.BR curl_multi_init "(3)," +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/curl_multi_remove_handle.3 curl-7.11.0-new/docs/libcurl/curl_multi_remove_handle.3 --- curl-7.11.0/docs/libcurl/curl_multi_remove_handle.3 2003-03-11 07:43:59.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/curl_multi_remove_handle.3 2004-02-28 17:32:04.000000000 +1100 @@ -20,4 +20,6 @@ .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. .SH "SEE ALSO" -.BR curl_multi_cleanup "(3)," curl_multi_init "(3)" +.BR curl_multi_cleanup "(3)," +.BR curl_multi_init "(3)," +.BR libcurl-errors "(3)" diff -ur curl-7.11.0/docs/libcurl/libcurl-errors.3 curl-7.11.0-new/docs/libcurl/libcurl-errors.3 --- curl-7.11.0/docs/libcurl/libcurl-errors.3 2003-12-19 03:16:19.000000000 +1100 +++ curl-7.11.0-new/docs/libcurl/libcurl-errors.3 2004-03-10 10:48:56.000000000 +1100 @@ -11,9 +11,12 @@ .SH "CURLcode" Almost all "easy" interface functions return a CURLcode error code. No matter what, using \fICURLOPT_ERRORBUFFER\fP is a good idea as it will give you a -human readable error string that may offer more details about the error cause +human-readable error string that may offer more details about the error cause than just the error code does. - +.PP +Alternatively, you can use the curl_easy_strerror function to obtain a +human-readable string from the CURLcode value. +.PP CURLcode is one of the following: .RS 0 .IP "CURLE_OK (0)" @@ -188,3 +191,13 @@ .SH "CURLMcode" This is the generic return code used by functions in the libcurl multi interface. +.PP +You can use the curl_multi_strerror function to obtain a +human-readable string from the CURLMcode value. + +.SH "CURLSHcode" +This is the generic return code used by functions in the libcurl share +interface. +.PP +You can use the curl_share_strerror function to obtain a +human-readable string from the CURLSHcode value. diff -ur curl-7.11.0/include/curl/curl.h curl-7.11.0-new/include/curl/curl.h --- curl-7.11.0/include/curl/curl.h 2004-01-22 20:17:51.000000000 +1100 +++ curl-7.11.0-new/include/curl/curl.h 2004-03-10 10:38:52.000000000 +1100 @@ -228,6 +228,13 @@ OpenSSL SSL_CTX */ void *userptr); +/** + * The curl_easy_strerror function may be used to turn a CURLcode value + * into the equivalent human readable error string. This is useful + * for printing meaningful error messages. + */ +const char *curl_easy_strerror(CURLcode); + /* Make a spelling correction for the operation timed-out define */ #define CURLE_OPERATION_TIMEDOUT CURLE_OPERATION_TIMEOUTED #define CURLE_HTTP_NOT_FOUND CURLE_HTTP_RETURNED_ERROR @@ -1140,6 +1147,13 @@ CURLSHE_LAST /* never use */ } CURLSHcode; +/** + * The curl_share_strerror function may be used to turn a CURLSHcode value + * into the equivalent human readable error string. This is useful + * for printing meaningful error messages. + */ +const char *curl_share_strerror(CURLSHcode); + typedef enum { CURLSHOPT_NONE, /* don't use */ CURLSHOPT_SHARE, /* specify a data type to share */ diff -ur curl-7.11.0/include/curl/multi.h curl-7.11.0-new/include/curl/multi.h --- curl-7.11.0/include/curl/multi.h 2004-01-09 08:56:50.000000000 +1100 +++ curl-7.11.0-new/include/curl/multi.h 2004-03-10 10:29:29.000000000 +1100 @@ -85,6 +85,14 @@ CURLM_LAST } CURLMcode; + +/** + * The curl_multi_strerror function may be used to turn a CURLMcode + * value into the equivalent human readable error string. This is + * useful for printing meaningful error messages. + */ +const char *curl_multi_strerror(CURLMcode); + typedef enum { CURLMSG_NONE, /* first, not used */ CURLMSG_DONE, /* This easy handle has completed. 'result' contains diff -ur curl-7.11.0/lib/Makefile.am curl-7.11.0-new/lib/Makefile.am --- curl-7.11.0/lib/Makefile.am 2004-01-06 09:29:32.000000000 +1100 +++ curl-7.11.0-new/lib/Makefile.am 2004-03-10 10:43:17.000000000 +1100 @@ -75,7 +75,7 @@ content_encoding.c content_encoding.h share.c share.h http_digest.c \ md5.c md5.h http_digest.h http_negotiate.c http_negotiate.h \ http_ntlm.c http_ntlm.h ca-bundle.h inet_pton.c inet_pton.h \ -strtoofft.c strtoofft.h +strtoofft.c strtoofft.h curl_strerror.c curlm_strerror.c curlsh_strerror.c noinst_HEADERS = setup.h transfer.h