aboutsummaryrefslogtreecommitdiff
path: root/lib/hostip.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/hostip.c')
-rw-r--r--lib/hostip.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/hostip.c b/lib/hostip.c
index ca8bf916a..76a781148 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -120,10 +120,22 @@ struct hostent *GetHost(struct UrlData *data,
else {
int h_errnop;
memset(buf,0,buf_size); /* workaround for gethostbyname_r bug in qnx nto */
+#if (GETHOSTBYNAME_R_NARGS < 6)
+ /* Solaris, IRIX and more */
if ((h = gethostbyname_r(hostname,
(struct hostent *)buf,buf +
sizeof(struct hostent),buf_size -
- sizeof(struct hostent),&h_errnop)) == NULL ) {
+ sizeof(struct hostent),&h_errnop)) == NULL )
+#else
+ /* Linux */
+ if( gethostbyname_r(hostname,
+ (struct hostent *)buf,buf +
+ sizeof(struct hostent),buf_size -
+ sizeof(struct hostent),
+ &h, /* DIFFERENCE */
+ &h_errnop))
+#endif
+ {
infof(data, "gethostbyname_r(2) failed for %s\n", hostname);
}
#else