From 785bad388b31ab548d1f9d4f5a71c76f48cd6d6f Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Thu, 24 Jun 2004 14:39:52 +0000 Subject: [PATCH] Gisle cleaned up remaining host resolve re-org issues --- lib/hostasyn.c | 8 ++++---- lib/hostip.h | 2 +- lib/hostip6.c | 3 ++- lib/hostthre.c | 10 +++++----- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/hostasyn.c b/lib/hostasyn.c index da072a043..2bf5a580a 100644 --- a/lib/hostasyn.c +++ b/lib/hostasyn.c @@ -96,8 +96,8 @@ **********************************************************************/ #ifdef CURLRES_ASYNCH /* - * Curl_addrinfo_callback() gets called by ares/gethostbyname_thread() when we - * got the name resolved (or not!). + * addrinfo_callback() gets called by ares, gethostbyname_thread() or + * getaddrinfo_thread() when we got the name resolved (or not!). * * If the status argument is CURL_ASYNC_SUCCESS, we might need to copy the * address field since it might be freed when this function returns. This @@ -161,9 +161,9 @@ void Curl_addrinfo4_callback(void *arg, /* "struct connectdata *" */ #ifdef CURLRES_IPV6 void Curl_addrinfo6_callback(void *arg, /* "struct connectdata *" */ int status, - struct addrinfo *hostent) + struct addrinfo *ai) { - addrinfo_callback(arg, status, hostent); + addrinfo_callback(arg, status, ai); } #endif diff --git a/lib/hostip.h b/lib/hostip.h index 9eb1bf055..ea9d0803c 100644 --- a/lib/hostip.h +++ b/lib/hostip.h @@ -206,7 +206,7 @@ void Curl_addrinfo4_callback(void *arg, resolve, ipv6 */ void Curl_addrinfo6_callback(void *arg, int status, - struct hostent *hostent); + struct addrinfo *ai); /* [ipv4 only] Creates a Curl_addrinfo struct from a numerical-only IP diff --git a/lib/hostip6.c b/lib/hostip6.c index 55e273623..7b0091d4c 100644 --- a/lib/hostip6.c +++ b/lib/hostip6.c @@ -111,8 +111,9 @@ void Curl_freeaddrinfo(Curl_addrinfo *p) * address. But this is an ipv6 build and then we don't copy the address, we * just return the same pointer! */ -Curl_addrinfo *Curl_addrinfo_copy(Curl_addrinfo *source) +Curl_addrinfo *Curl_addrinfo_copy(void *source, int port) { + (void) port; return source; } #endif diff --git a/lib/hostthre.c b/lib/hostthre.c index be8ab20a8..6ab070638 100644 --- a/lib/hostthre.c +++ b/lib/hostthre.c @@ -163,7 +163,7 @@ struct thread_data { #if defined(CURLRES_IPV4) /* - * gethostbyname_thread() resolves a name, calls the Curl_addrinfo_callback + * gethostbyname_thread() resolves a name, calls the Curl_addrinfo4_callback * and then exits. * * For builds without ARES/ENABLE_IPV6, create a resolver thread and wait on @@ -201,7 +201,7 @@ static unsigned __stdcall gethostbyname_thread (void *arg) #elif defined(CURLRES_IPV6) /* - * getaddrinfo_thread() resolves a name, calls Curl_addrinfo_callback and then + * getaddrinfo_thread() resolves a name, calls Curl_addrinfo6_callback and then * exits. * * For builds without ARES, but with ENABLE_IPV6, create a resolver thread @@ -227,10 +227,10 @@ static unsigned __stdcall getaddrinfo_thread (void *arg) #ifdef DEBUG_THREADING_GETADDRINFO dump_addrinfo (conn, res); #endif - Curl_addrinfo_callback(conn, CURL_ASYNC_SUCCESS, res); + Curl_addrinfo6_callback(conn, CURL_ASYNC_SUCCESS, res); } else { - Curl_addrinfo_callback(conn, (int)WSAGetLastError(), NULL); + Curl_addrinfo6_callback(conn, (int)WSAGetLastError(), NULL); TRACE(("Winsock-error %d, no address\n", conn->async.status)); } return (rc); @@ -345,7 +345,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn, status = WaitForSingleObject(td->thread_hnd, 1000UL*timeout); if (status == WAIT_OBJECT_0 || status == WAIT_ABANDONED) { /* Thread finished before timeout; propagate Winsock error to this thread. - * 'conn->async.done = TRUE' is set in Curl_addrinfo_callback(). + * 'conn->async.done = TRUE' is set in Curl_addrinfo4/6_callback(). */ WSASetLastError(conn->async.status); GetExitCodeThread(td->thread_hnd, &td->thread_status);