aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/getinfo.c3
-rw-r--r--lib/url.c7
-rw-r--r--lib/urldata.h2
3 files changed, 12 insertions, 0 deletions
diff --git a/lib/getinfo.c b/lib/getinfo.c
index 01d6dda85..009a3c10a 100644
--- a/lib/getinfo.c
+++ b/lib/getinfo.c
@@ -158,6 +158,9 @@ CURLcode Curl_getinfo(struct SessionHandle *data, CURLINFO info, ...)
case CURLINFO_CONTENT_TYPE:
*param_charp = data->info.contenttype;
break;
+ case CURLINFO_PRIVATE:
+ *param_charp = data->set.private?data->set.private:(char *)"";
+ break;
default:
return CURLE_BAD_FUNCTION_ARGUMENT;
}
diff --git a/lib/url.c b/lib/url.c
index 7083490be..c07c50861 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1088,6 +1088,13 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...)
data->set.proxytype = va_arg(param, long);
break;
+ case CURLOPT_PRIVATE:
+ /*
+ * Set private data pointer.
+ */
+ data->set.private = va_arg(param, char *);
+ break;
+
default:
/* unknown tag and its companion, just ignore: */
return CURLE_FAILED_INIT; /* correct this */
diff --git a/lib/urldata.h b/lib/urldata.h
index 8d20a78f8..f123a770c 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -686,6 +686,8 @@ struct UserDefined {
int dns_cache_timeout; /* DNS cache timeout */
long buffer_size; /* size of receive buffer to use */
+
+ char *private; /* Private data */
/* Here follows boolean settings that define how to behave during
this session. They are STATIC, set by libcurl users or at least initially