diff --git a/src/ChangeLog b/src/ChangeLog index 613e4252..4515d2da 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2003-10-31 Hrvoje Niksic + + * host.c (address_list_from_single): Removed. + (address_list_from_ipv4_addresses): Renamed from + address_list_from_vector. + 2003-10-31 Hrvoje Niksic * sysdep.h (CLOSE): Don't call close on file descriptors less than diff --git a/src/host.c b/src/host.c index 937d72c8..b20ed3ae 100644 --- a/src/host.c +++ b/src/host.c @@ -268,10 +268,11 @@ address_list_from_addrinfo (const struct addrinfo *ai) return al; } #else -/* Create an address_list out of a NULL-terminated vector of - addresses, as returned by gethostbyname. */ +/* Create an address_list from a NULL-terminated vector of IPv4 + addresses. This kind of vector is returned by gethostbyname. */ + static struct address_list * -address_list_from_vector (char **h_addr_list) +address_list_from_ipv4_addresses (char **h_addr_list) { int count, i; struct address_list *al = xmalloc (sizeof (struct address_list)); @@ -296,23 +297,6 @@ address_list_from_vector (char **h_addr_list) return al; } - -/* Like address_list_from_vector, but initialized with a single - address. */ - -static struct address_list * -address_list_from_single (const ip_address *addr) -{ - struct address_list *al = xmalloc (sizeof (struct address_list)); - al->count = 1; - al->faulty = 0; - al->addresses = xmalloc (sizeof (ip_address)); - al->from_cache = 0; - al->refcount = 1; - memcpy (al->addresses, addr, sizeof (ip_address)); - - return al; -} #endif static void @@ -536,10 +520,10 @@ lookup_host (const char *host, int flags) { /* The return value of inet_addr is in network byte order, so we can just copy it to IP. */ - ip_address ip; - ip.type = IPV4_ADDRESS; - memcpy (ADDRESS_IPV4_DATA (&ip), &addr_ipv4, 4); - return address_list_from_single (&ip); + char **vec[2]; + vec[0] = (char *)&addr_ipv4; + vec[1] = NULL; + return address_list_from_ipv4_addresses (vec); } } #endif @@ -598,9 +582,8 @@ lookup_host (const char *host, int flags) return NULL; } assert (hptr->h_length == 4); - /* Do all systems have h_addr_list, or is it a newer thing? If - the latter, use address_list_from_single. */ - al = address_list_from_vector (hptr->h_addr_list); + /* Do older systems have h_addr_list? */ + al = address_list_from_ipv4_addresses (hptr->h_addr_list); } #endif