gnunet-svn
[Top][All Lists]
Advanced

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

[gnurl] 140/264: CURLOPT_WRITEFUNCTION.3: add inline example and new see


From: gnunet
Subject: [gnurl] 140/264: CURLOPT_WRITEFUNCTION.3: add inline example and new see-also
Date: Thu, 30 Apr 2020 16:07:23 +0200

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

nikita pushed a commit to branch master
in repository gnurl.

commit 946a71a14f8b397972bf07f446881c2faa25a926
Author: Daniel Stenberg <address@hidden>
AuthorDate: Mon Apr 6 18:14:10 2020 +0200

    CURLOPT_WRITEFUNCTION.3: add inline example and new see-also
    
    Closes #5192
---
 docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 | 37 +++++++++++++++++++++++++++----
 1 file changed, 33 insertions(+), 4 deletions(-)

diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 
b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
index 11edeb2e9..254246ec1 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
+.\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <address@hidden>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -76,8 +76,37 @@ Support for the CURL_WRITEFUNC_PAUSE return code was added 
in version 7.18.0.
 .SH RETURN VALUE
 This will return CURLE_OK.
 .SH EXAMPLE
-A common technique is to use this callback to store the incoming data into a
-dynamically growing allocated buffer. Like in the getinmemory example:
-https://curl.haxx.se/libcurl/c/getinmemory.html
+.NF
+ struct memory {
+   char *response;
+   size_t size;
+ };
+
+ static size_t cb(void *data, size_t size, size_t nmemb, void *userp)
+ {
+   size_t realsize = size * nmemb;
+   struct memory *mem = (struct memory *)userp;
+
+   char *ptr = realloc(mem->response, mem->size + realsize + 1);
+   if(ptr == NULL)
+     return 0;  /* out of memory! */
+
+   mem->response = ptr;
+   memcpy(&(mem->response[mem->size]), data, realsize);
+   mem->size += realsize;
+   mem->response[mem->size] = 0;
+
+   return realsize;
+ }
+
+ struct memory chunk;
+
+ /* send all data to this function  */
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, cb);
+
+ /* we pass our 'chunk' struct to the callback function */
+ curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&chunk);
+.FI
 .SH "SEE ALSO"
 .BR CURLOPT_WRITEDATA "(3), " CURLOPT_READFUNCTION "(3), "
+.BR CURLOPT_HEADERFUNCTION "(3), "

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



reply via email to

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