summaryrefslogtreecommitdiff
path: root/network_io
diff options
context:
space:
mode:
authorjerenkrantz <jerenkrantz@13f79535-47bb-0310-9956-ffa450edef68>2003-08-14 00:09:28 +0000
committerjerenkrantz <jerenkrantz@13f79535-47bb-0310-9956-ffa450edef68>2003-08-14 00:09:28 +0000
commit9295cab9149b9d565697f6b78c3694a84aae6616 (patch)
treeb879275b85737d48bc9cab7d6b344777ea6b709f /network_io
parent4527cae540a5305ee1435a79a6369299fcdc6bff (diff)
downloadlibapr-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.c9
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 {