cURL / Mailing Lists / curl-library / Single Mail

curl-library

[PATCH 2/5] lib/url.c: Generic read/write data pointers

From: Alexander Klauer <Alexander.Klauer_at_itwm.fraunhofer.de>
Date: Fri, 22 Feb 2013 13:06:53 +0100

Always interprets the pointer passed with the CURLOPT_WRITEDATA or
CURLOPT_READDATA options of curl_easy_setopt() as a void pointer in
order to avoid problems in environments where FILE and void pointers
have non-trivial conversion.

---
 lib/url.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/lib/url.c b/lib/url.c
index f9ce3ce..cbe0f46 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1394,9 +1394,10 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
     break;
   case CURLOPT_FILE:
     /*
-     * FILE pointer to write to or include in the data write callback
+     * FILE pointer to write to. Or possibly
+     * used as argument to the write callback.
      */
-    data->set.out = va_arg(param, FILE *);
+    data->set.out = va_arg(param, void *);
     break;
   case CURLOPT_FTPPORT:
     /*
@@ -1437,7 +1438,7 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option,
      * FILE pointer to read the file to be uploaded from. Or possibly
      * used as argument to the read callback.
      */
-    data->set.in = va_arg(param, FILE *);
+    data->set.in = va_arg(param, void *);
     break;
   case CURLOPT_INFILESIZE:
     /*
-- 
1.7.9.5
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2013-02-22