mirror of
https://github.com/moparisthebest/curl
synced 2025-01-11 05:58:01 -05:00
CURLOPT_READFUNCTION.3: provide inline example
... instead of mentioning one in another place
This commit is contained in:
parent
fb6d46a709
commit
f88d865bf4
@ -69,8 +69,37 @@ The default internal read callback is fread().
|
|||||||
.SH PROTOCOLS
|
.SH PROTOCOLS
|
||||||
This is used for all protocols when doing uploads.
|
This is used for all protocols when doing uploads.
|
||||||
.SH EXAMPLE
|
.SH EXAMPLE
|
||||||
Here's an example setting a read callback for reading that to upload to an FTP
|
.nf
|
||||||
site: https://curl.haxx.se/libcurl/c/ftpupload.html
|
size_t read_callback(void *ptr, size_t size, size_t nmemb, void *userdata)
|
||||||
|
{
|
||||||
|
FILE *readhere = (FILE *)userdata;
|
||||||
|
curl_off_t nread;
|
||||||
|
|
||||||
|
/* copy as much data as possible into the 'ptr' buffer, but no more than
|
||||||
|
'size' * 'nmemb' bytes! */
|
||||||
|
size_t retcode = fread(ptr, size, nmemb, readhere);
|
||||||
|
|
||||||
|
nread = (curl_off_t)retcode;
|
||||||
|
|
||||||
|
fprintf(stderr, "*** We read %" CURL_FORMAT_CURL_OFF_T
|
||||||
|
" bytes from file\\n", nread);
|
||||||
|
return retcode;
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup(char *uploadthis)
|
||||||
|
{
|
||||||
|
FILE *file = fopen("rb", uploadthis);
|
||||||
|
CURLcode result;
|
||||||
|
|
||||||
|
/* set callback to use */
|
||||||
|
curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_callback);
|
||||||
|
|
||||||
|
/* pass in suitable argument to callback */
|
||||||
|
curl_easy_setopt(curl, CURLOPT_READDATA, uploadthis);
|
||||||
|
|
||||||
|
result = curl_easy_perform(curl);
|
||||||
|
}
|
||||||
|
.fi
|
||||||
.SH AVAILABILITY
|
.SH AVAILABILITY
|
||||||
CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT
|
CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT
|
||||||
was added in 7.12.1.
|
was added in 7.12.1.
|
||||||
|
Loading…
Reference in New Issue
Block a user