gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [gnurl] 107/220: CURLOPT_READFUNCTION.3: provide inline exa


From: gnunet
Subject: [GNUnet-SVN] [gnurl] 107/220: CURLOPT_READFUNCTION.3: provide inline example
Date: Thu, 12 Sep 2019 17:27:47 +0200

This is an automated email from the git hooks/post-receive script.

ng0 pushed a commit to branch master
in repository gnurl.

commit f88d865bf4612ee9ce6b311952ae6d2f2bbf05c0
Author: Daniel Stenberg <address@hidden>
AuthorDate: Mon Aug 12 09:20:04 2019 +0200

    CURLOPT_READFUNCTION.3: provide inline example
    
    ... instead of mentioning one in another place
---
 docs/libcurl/opts/CURLOPT_READFUNCTION.3 | 33 ++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.3 
b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
index df6681c38..30b0925eb 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
@@ -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.

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]