From 394faaeb9779d4639c845793eeec6d30e12baa3a Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Sun, 17 Aug 2003 13:32:37 +0000
Subject: [PATCH] setting WRITEFUNCTION or READFUNCTION to NULL will now reset
 the callback pointers to the internal default functions

---
 lib/url.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/url.c b/lib/url.c
index 588391524b..3c5240b780 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1016,12 +1016,18 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
      * Set data write callback
      */
     data->set.fwrite = va_arg(param, curl_write_callback);
+    if(!data->set.fwrite)
+      /* When set to NULL, reset to our internal default function */
+      data->set.fwrite = (curl_write_callback)fwrite;
     break;
   case CURLOPT_READFUNCTION:
     /*
      * Read data callback
      */
     data->set.fread = va_arg(param, curl_read_callback);
+    if(!data->set.fread)
+      /* When set to NULL, reset to our internal default function */
+      data->set.fread = (curl_read_callback)fread;
     break;
   case CURLOPT_SSLCERT:
     /*
-- 
GitLab