From e4d6ade4b318c2694937695aeaf2b1e542d394f6 Mon Sep 17 00:00:00 2001 From: Gisle Vanem Date: Tue, 25 Jul 2006 10:31:31 +0000 Subject: Moved functions common to IPv4 and C-ares to hostip.c; Curl_freeaddrinfo() and Curl_ip2addr(). --- lib/hostares.c | 65 ---------------------------------------------------------- 1 file changed, 65 deletions(-) (limited to 'lib/hostares.c') diff --git a/lib/hostares.c b/lib/hostares.c index 1842d5f4f..25a15be91 100644 --- a/lib/hostares.c +++ b/lib/hostares.c @@ -292,69 +292,4 @@ Curl_addrinfo *Curl_getaddrinfo(struct connectdata *conn, } return NULL; /* no struct yet */ } - -#if !defined(CURLRES_IPV4) -/* - * The rest of this file is copied from hostip4.c. (needed for the - * combination USE_ARES and ENABLE_IPV6). - */ -/* - * This is a function for freeing name information in a protocol independent - * way. - */ -void Curl_freeaddrinfo(Curl_addrinfo *ai) -{ - Curl_addrinfo *next; - - /* walk over the list and free all entries */ - while(ai) { - next = ai->ai_next; - free(ai); - ai = next; - } -} - -struct namebuf { - struct hostent hostentry; - char *h_addr_list[2]; - struct in_addr addrentry; - char h_name[16]; /* 123.123.123.123 = 15 letters is maximum */ -}; - -/* - * Curl_ip2addr() takes a 32bit ipv4 internet address as input parameter - * together with a pointer to the string version of the address, and it - * returns a Curl_addrinfo chain filled in correctly with information for this - * address/host. - * - * The input parameters ARE NOT checked for validity but they are expected - * to have been checked already when this is called. - */ -Curl_addrinfo *Curl_ip2addr(in_addr_t num, const char *hostname, int port) -{ - Curl_addrinfo *ai; - struct hostent *h; - struct in_addr *addrentry; - struct namebuf buffer; - struct namebuf *buf = &buffer; - - h = &buf->hostentry; - h->h_addr_list = &buf->h_addr_list[0]; - addrentry = &buf->addrentry; - addrentry->s_addr = num; - h->h_addr_list[0] = (char*)addrentry; - h->h_addr_list[1] = NULL; - h->h_addrtype = AF_INET; - h->h_length = sizeof(*addrentry); - h->h_name = &buf->h_name[0]; - h->h_aliases = NULL; - - /* Now store the dotted version of the address */ - snprintf((char *)h->h_name, 16, "%s", hostname); - - ai = Curl_he2ai(h, port); - - return ai; -} -#endif /* !CURLRES_IPV4 */ #endif /* CURLRES_ARES */ -- cgit v1.2.3