mirror of
https://github.com/curl/curl.git
synced 2026-08-26 03:53:32 +03:00
hostcache: made all host caches use structs, not pointers
This avoids unnecessary dynamic allocs and as this also removed the last users of *hash_alloc() and *hash_destroy(), those two functions are now removed.
This commit is contained in:
parent
d37e0160c2
commit
b419e7ae0c
10 changed files with 31 additions and 82 deletions
21
lib/share.c
21
lib/share.c
|
|
@ -5,7 +5,7 @@
|
|||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
|
|
@ -38,6 +38,11 @@ curl_share_init(void)
|
|||
if(share)
|
||||
share->specifier |= (1<<CURL_LOCK_DATA_SHARE);
|
||||
|
||||
if(Curl_mk_dnscache(&share->hostcache)) {
|
||||
free(share);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return share;
|
||||
}
|
||||
|
||||
|
|
@ -67,11 +72,6 @@ curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
|
|||
share->specifier |= (1<<type);
|
||||
switch( type ) {
|
||||
case CURL_LOCK_DATA_DNS:
|
||||
if(!share->hostcache) {
|
||||
share->hostcache = Curl_mk_dnscache();
|
||||
if(!share->hostcache)
|
||||
res = CURLSHE_NOMEM;
|
||||
}
|
||||
break;
|
||||
|
||||
case CURL_LOCK_DATA_COOKIE:
|
||||
|
|
@ -115,10 +115,6 @@ curl_share_setopt(CURLSH *sh, CURLSHoption option, ...)
|
|||
share->specifier &= ~(1<<type);
|
||||
switch( type ) {
|
||||
case CURL_LOCK_DATA_DNS:
|
||||
if(share->hostcache) {
|
||||
Curl_hash_destroy(share->hostcache);
|
||||
share->hostcache = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case CURL_LOCK_DATA_COOKIE:
|
||||
|
|
@ -192,10 +188,7 @@ curl_share_cleanup(CURLSH *sh)
|
|||
return CURLSHE_IN_USE;
|
||||
}
|
||||
|
||||
if(share->hostcache) {
|
||||
Curl_hash_destroy(share->hostcache);
|
||||
share->hostcache = NULL;
|
||||
}
|
||||
Curl_hash_clean(&share->hostcache);
|
||||
|
||||
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
|
||||
Curl_cookie_cleanup(share->cookies);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue