aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2002-11-20 19:11:22 +0000
committerDaniel Stenberg <daniel@haxx.se>2002-11-20 19:11:22 +0000
commit8bca5e05b8e96bbfaaef9cc8dcecc33ce7ef6a15 (patch)
treefe24e8525de7d67e07efcef122d3842e68e1e111 /lib
parentf68505ee23d37afa31d908e146beab33935b7eed (diff)
Kjetil Jacobsen's patch that introduces CURLOPT_PRIVATE and CURLINFO_PRIVATE
for storage and retrieval of private data in the curl handle.
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