Loading CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,10 @@ Changelog Daniel (24 June 2006) - Michael Wallner added curl_formget(), which allows an application to extract (serialise) a previously built formpost (as with curl_formadd()). Daniel (23 June 2006) - Arve Knudsen found a flaw in curl_multi_fdset() for systems where curl_socket_t is unsigned (like Windows) that could cause it to wrongly Loading RELEASE-NOTES +2 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ Curl and libcurl 7.15.5 This release includes the following changes: o added curl_formget() o added CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE o configure --enable-hidden-symbols Loading @@ -31,6 +32,6 @@ New curl mirrors: This release would not have looked like this without help, code, reports and advice from friends like these: Dan Fandrich, Peter Silva, Arve Knudsen Dan Fandrich, Peter Silva, Arve Knudsen, Michael Wallner Thanks! (and sorry if I forgot to mention someone) docs/libcurl/Makefile.am +5 −3 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \ curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \ libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \ curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \ curl_multi_timeout.3 curl_multi_timeout.3 curl_formget.3 HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \ curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \ Loading @@ -35,7 +35,8 @@ HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \ libcurl-errors.html curl_easy_strerror.html curl_multi_strerror.html \ curl_share_strerror.html curl_global_init_mem.html libcurl-tutorial.html \ curl_easy_reset.html curl_easy_escape.html curl_easy_unescape.html \ curl_multi_setopt.html curl_multi_socket.html curl_multi_timeout.html curl_multi_setopt.html curl_multi_socket.html curl_multi_timeout.html \ curl_formget.html PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf curl_easy_init.pdf \ curl_easy_perform.pdf curl_easy_setopt.pdf curl_easy_duphandle.pdf \ Loading @@ -51,7 +52,8 @@ PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf curl_easy_init.pdf \ libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \ curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \ curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \ curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \ curl_formget.pdf CLEANFILES = $(HTMLPAGES) $(PDFPAGES) Loading docs/libcurl/curl_formget.3 0 → 100644 +49 −0 Original line number Diff line number Diff line .\" You can view this file with: .\" nroff -man [file] .\" $Id$ .\" .TH curl_formget 3 "20 June 2006" "libcurl 7.15.5" "libcurl Manual" .SH NAME curl_formget - serialize a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_formget(struct curl_httppost *" form, " void *" arg, .BI " curl_formget_callback " append); .ad .SH DESCRIPTION curl_formget() is used to serialize data previously built/appended with \fIcurl_formadd(3)\fP. Accepts a void pointer as second argument which will be passed to the curl_formget_callback function. .B "typedef size_t (*curl_formget_callback)(void *" arg, " const char *" buf, .B " size_t " len); .nf The curl_formget_callback will be executed for each part of the httppost struct. The void *arg pointer will be the one passed as second argument to curl_formget(). The character buffer passed to it must not be freed. The callback should return the buffer length passed to it on success. .SH RETURN VALUE 0 means everything was ok, non-zero means an error occurred .SH EXAMPLE .nf size_t print_httppost_callback(void *arg, const char *buf, size_t len) { fwrite(buf, len, 1, stdout); (*(size_t *) arg) += len; return len; } size_t print_httppost(struct curl_httppost *post) { size_t total_size = 0; if(curl_formget(post, &total_size, out)) { return (size_t) -1; } return total_size; } .SH AVAILABILITY This function was added in libcurl 7.15.5 .SH "SEE ALSO" .BR curl_formadd "(3) " include/curl/curl.h +20 −0 Original line number Diff line number Diff line Loading @@ -1158,6 +1158,26 @@ CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost, struct curl_httppost **last_post, ...); /* * callback function for curl_formget() * The void *arg pointer will be the one passed as second argument to curl_formget(). * The character buffer passed to it must not be freed. * Should return the buffer length passed to it as the argument "len" on success. */ typedef size_t (*curl_formget_callback)(void *arg, const char *buf, size_t len); /* * NAME curl_formget() * * DESCRIPTION * * Serialize a curl_httppost struct built with curl_formadd(). * Accepts a void pointer as second argument which will be passed to * the curl_formget_callback function. * Returns 0 on success. */ CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg, curl_formget_callback append); /* * NAME curl_formfree() * Loading Loading
CHANGES +4 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,10 @@ Changelog Daniel (24 June 2006) - Michael Wallner added curl_formget(), which allows an application to extract (serialise) a previously built formpost (as with curl_formadd()). Daniel (23 June 2006) - Arve Knudsen found a flaw in curl_multi_fdset() for systems where curl_socket_t is unsigned (like Windows) that could cause it to wrongly Loading
RELEASE-NOTES +2 −1 Original line number Diff line number Diff line Loading @@ -11,6 +11,7 @@ Curl and libcurl 7.15.5 This release includes the following changes: o added curl_formget() o added CURLOPT_MAX_SEND_SPEED_LARGE and CURLOPT_MAX_RECV_SPEED_LARGE o configure --enable-hidden-symbols Loading @@ -31,6 +32,6 @@ New curl mirrors: This release would not have looked like this without help, code, reports and advice from friends like these: Dan Fandrich, Peter Silva, Arve Knudsen Dan Fandrich, Peter Silva, Arve Knudsen, Michael Wallner Thanks! (and sorry if I forgot to mention someone)
docs/libcurl/Makefile.am +5 −3 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ man_MANS = curl_easy_cleanup.3 curl_easy_getinfo.3 curl_easy_init.3 \ curl_multi_strerror.3 curl_share_strerror.3 curl_global_init_mem.3 \ libcurl-tutorial.3 curl_easy_reset.3 curl_easy_escape.3 \ curl_easy_unescape.3 curl_multi_setopt.3 curl_multi_socket.3 \ curl_multi_timeout.3 curl_multi_timeout.3 curl_formget.3 HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \ curl_easy_init.html curl_easy_perform.html curl_easy_setopt.html \ Loading @@ -35,7 +35,8 @@ HTMLPAGES = curl_easy_cleanup.html curl_easy_getinfo.html \ libcurl-errors.html curl_easy_strerror.html curl_multi_strerror.html \ curl_share_strerror.html curl_global_init_mem.html libcurl-tutorial.html \ curl_easy_reset.html curl_easy_escape.html curl_easy_unescape.html \ curl_multi_setopt.html curl_multi_socket.html curl_multi_timeout.html curl_multi_setopt.html curl_multi_socket.html curl_multi_timeout.html \ curl_formget.html PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf curl_easy_init.pdf \ curl_easy_perform.pdf curl_easy_setopt.pdf curl_easy_duphandle.pdf \ Loading @@ -51,7 +52,8 @@ PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf curl_easy_init.pdf \ libcurl-errors.pdf curl_easy_strerror.pdf curl_multi_strerror.pdf \ curl_share_strerror.pdf curl_global_init_mem.pdf libcurl-tutorial.pdf \ curl_easy_reset.pdf curl_easy_escape.pdf curl_easy_unescape.pdf \ curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf curl_multi_setopt.pdf curl_multi_socket.pdf curl_multi_timeout.pdf \ curl_formget.pdf CLEANFILES = $(HTMLPAGES) $(PDFPAGES) Loading
docs/libcurl/curl_formget.3 0 → 100644 +49 −0 Original line number Diff line number Diff line .\" You can view this file with: .\" nroff -man [file] .\" $Id$ .\" .TH curl_formget 3 "20 June 2006" "libcurl 7.15.5" "libcurl Manual" .SH NAME curl_formget - serialize a previously build multipart/formdata HTTP POST chain .SH SYNOPSIS .B #include <curl/curl.h> .sp .BI "void curl_formget(struct curl_httppost *" form, " void *" arg, .BI " curl_formget_callback " append); .ad .SH DESCRIPTION curl_formget() is used to serialize data previously built/appended with \fIcurl_formadd(3)\fP. Accepts a void pointer as second argument which will be passed to the curl_formget_callback function. .B "typedef size_t (*curl_formget_callback)(void *" arg, " const char *" buf, .B " size_t " len); .nf The curl_formget_callback will be executed for each part of the httppost struct. The void *arg pointer will be the one passed as second argument to curl_formget(). The character buffer passed to it must not be freed. The callback should return the buffer length passed to it on success. .SH RETURN VALUE 0 means everything was ok, non-zero means an error occurred .SH EXAMPLE .nf size_t print_httppost_callback(void *arg, const char *buf, size_t len) { fwrite(buf, len, 1, stdout); (*(size_t *) arg) += len; return len; } size_t print_httppost(struct curl_httppost *post) { size_t total_size = 0; if(curl_formget(post, &total_size, out)) { return (size_t) -1; } return total_size; } .SH AVAILABILITY This function was added in libcurl 7.15.5 .SH "SEE ALSO" .BR curl_formadd "(3) "
include/curl/curl.h +20 −0 Original line number Diff line number Diff line Loading @@ -1158,6 +1158,26 @@ CURL_EXTERN CURLFORMcode curl_formadd(struct curl_httppost **httppost, struct curl_httppost **last_post, ...); /* * callback function for curl_formget() * The void *arg pointer will be the one passed as second argument to curl_formget(). * The character buffer passed to it must not be freed. * Should return the buffer length passed to it as the argument "len" on success. */ typedef size_t (*curl_formget_callback)(void *arg, const char *buf, size_t len); /* * NAME curl_formget() * * DESCRIPTION * * Serialize a curl_httppost struct built with curl_formadd(). * Accepts a void pointer as second argument which will be passed to * the curl_formget_callback function. * Returns 0 on success. */ CURL_EXTERN int curl_formget(struct curl_httppost *form, void *arg, curl_formget_callback append); /* * NAME curl_formfree() * Loading