1
0
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:
Daniel Stenberg 2019-08-12 09:20:04 +02:00
parent fb6d46a709
commit f88d865bf4
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -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.