mirror of
https://github.com/moparisthebest/curl
synced 2024-12-23 08:38:49 -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
|
||||
This is used for all protocols when doing uploads.
|
||||
.SH EXAMPLE
|
||||
Here's an example setting a read callback for reading that to upload to an FTP
|
||||
site: https://curl.haxx.se/libcurl/c/ftpupload.html
|
||||
.nf
|
||||
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
|
||||
CURL_READFUNC_PAUSE return code was added in 7.18.0 and CURL_READFUNC_ABORT
|
||||
was added in 7.12.1.
|
||||
|
Loading…
Reference in New Issue
Block a user