aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Barton <dougb@FreeBSD.org>2006-01-04 19:18:43 +0000
committerDoug Barton <dougb@FreeBSD.org>2006-01-04 19:18:43 +0000
commitb824835191139c577ca56bab6a86c7af4bd51c96 (patch)
tree46869d7179dc646e635675ad20afcdc085e2c4e3
parenta00aca3467ce973cd6d2414c81fd5e39559374b3 (diff)
downloadsrc-b824835191139c577ca56bab6a86c7af4bd51c96.tar.gz
src-b824835191139c577ca56bab6a86c7af4bd51c96.zip
After some discussion with the folks at ISC, it turns out that the _ai_pad
part of the structure was a hack to maintain binary compatibility with Sun binaries, and my understanding is that it's not needed generally on sparc systems running other operating systems. Therefore, hide this code behind the same set of tests as in lib/bind/include/netdb.h. This file is being imported on the vendor branch because a similar change (or change with similar effect) will be in the next version of BIND 9. This change will not affect other platforms in any way.
Notes
Notes: svn path=/vendor/bind9/dist/; revision=154032
-rw-r--r--contrib/bind9/lib/bind/irs/getaddrinfo.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/contrib/bind9/lib/bind/irs/getaddrinfo.c b/contrib/bind9/lib/bind/irs/getaddrinfo.c
index 4f741a8e7de2..d80f298bf266 100644
--- a/contrib/bind9/lib/bind/irs/getaddrinfo.c
+++ b/contrib/bind9/lib/bind/irs/getaddrinfo.c
@@ -332,7 +332,7 @@ getaddrinfo(hostname, servname, hints, res)
pai->ai_family = PF_UNSPEC;
pai->ai_socktype = ANY;
pai->ai_protocol = ANY;
-#ifdef __sparcv9
+#if defined(sun) && defined(_SOCKLEN_T) && defined(__sparcv9)
/*
* clear _ai_pad to preserve binary
* compatibility with previously compiled 64-bit
@@ -340,7 +340,7 @@ getaddrinfo(hostname, servname, hints, res)
* guaranteeing the upper 32-bits are empty.
*/
pai->_ai_pad = 0;
-#endif /* __sparcv9 */
+#endif
pai->ai_addrlen = 0;
pai->ai_canonname = NULL;
pai->ai_addr = NULL;
@@ -365,7 +365,7 @@ getaddrinfo(hostname, servname, hints, res)
}
memcpy(pai, hints, sizeof(*pai));
-#ifdef __sparcv9
+#if defined(sun) && defined(_SOCKLEN_T) && defined(__sparcv9)
/*
* We need to clear _ai_pad to preserve binary
* compatibility. See prior comment.