diff options
author | jerenkrantz <jerenkrantz@13f79535-47bb-0310-9956-ffa450edef68> | 2003-08-14 00:09:28 +0000 |
---|---|---|
committer | jerenkrantz <jerenkrantz@13f79535-47bb-0310-9956-ffa450edef68> | 2003-08-14 00:09:28 +0000 |
commit | 9295cab9149b9d565697f6b78c3694a84aae6616 (patch) | |
tree | b879275b85737d48bc9cab7d6b344777ea6b709f /network_io | |
parent | 4527cae540a5305ee1435a79a6369299fcdc6bff (diff) | |
download | libapr-9295cab9149b9d565697f6b78c3694a84aae6616.tar.gz |
Make the getaddrinfo (IPv6) and gethostbyname (IPv4) implementations
consistent in storing NULL values in the hostname if that is what was passed
in by the caller.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@64588 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'network_io')
-rw-r--r-- | network_io/unix/sockaddr.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/network_io/unix/sockaddr.c b/network_io/unix/sockaddr.c index 639303ab5..e721ef5e3 100644 --- a/network_io/unix/sockaddr.c +++ b/network_io/unix/sockaddr.c @@ -431,7 +431,9 @@ static apr_status_t call_resolver(apr_sockaddr_t **sa, apr_sockaddr_vars_set(new_sa, ai->ai_family, port); if (!prev_sa) { /* first element in new list */ - new_sa->hostname = apr_pstrdup(p, hostname); + if (hostname) { + new_sa->hostname = apr_pstrdup(p, hostname); + } *sa = new_sa; } else { @@ -501,6 +503,7 @@ static apr_status_t find_addresses(apr_sockaddr_t **sa, struct hostent hs; struct in_addr ipaddr; char *addr_list[2]; + const char *orig_hostname = hostname; if (hostname == NULL) { /* if we are given a NULL hostname, assume '0.0.0.0' */ @@ -560,7 +563,9 @@ static apr_status_t find_addresses(apr_sockaddr_t **sa, apr_sockaddr_vars_set(new_sa, AF_INET, port); if (!prev_sa) { /* first element in new list */ - new_sa->hostname = apr_pstrdup(p, hostname); + if (orig_hostname) { + new_sa->hostname = apr_pstrdup(p, orig_hostname); + } *sa = new_sa; } else { |