aboutsummaryrefslogtreecommitdiff
path: root/lib/hostip.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2008-01-15 22:44:12 +0000
committerDaniel Stenberg <daniel@haxx.se>2008-01-15 22:44:12 +0000
commit991505e077f4ecdbd0b1d0f42be0c9b548dc743d (patch)
tree34b3e98e43004e2a577ffe4f421acdabbcf6170f /lib/hostip.c
parent56f17d2c9f3d229d701bcf0dda83f4d29c0e02ba (diff)
Woops, partly revert my previous commit and do it slightly differently instead.
The signalling of that a global DNS cache is wanted is done by setting the option but the setting of the internal variable that it is in use must not be done until it finally actually gets used! NOTE and WARNING: I noticed that you can't actually switch off the global dns cache with CURLOPT_DNS_USE_GLOBAL_CACHE but you couldn't do that previously either and the option is very clearly and loudly documented as DO NOTE USE so I won't bother to fix this bug now.
Diffstat (limited to 'lib/hostip.c')
-rw-r--r--lib/hostip.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/lib/hostip.c b/lib/hostip.c
index aa5ec1e00..0778fc222 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -128,9 +128,9 @@ static void freednsentry(void *freethis);
* Global DNS cache is general badness. Do not use. This will be removed in
* a future version. Use the share interface instead!
*
- * Returns 0 on success, 1 on failure.
+ * Returns a struct curl_hash pointer on success, NULL on failure.
*/
-int Curl_global_host_cache_init(void)
+struct curl_hash *Curl_global_host_cache_init(void)
{
int rc = 0;
if(!host_cache_initialized) {
@@ -139,15 +139,7 @@ int Curl_global_host_cache_init(void)
if(!rc)
host_cache_initialized = 1;
}
- return rc;
-}
-
-/*
- * Return a pointer to the global cache
- */
-struct curl_hash *Curl_global_host_cache_get(void)
-{
- return &hostname_cache;
+ return rc?NULL:&hostname_cache;
}
/*