For what it's worth, I don't think the proposed fix is right. Slang
would end up using h_addr instead of h_addr_list if compiled with
glibc versions from before 2.8, and I don't think that was intended.
The #ifndef h_addr branch is only needed for compatibility with 4.2BSD
--- already in 4.3BSD, struct hostent has an h_addr_list field and an
h_addr compatibility macro --- so it might be better to just get rid
of the code that uses the old interface. If a minimal diff is the
goal, something like the following should work:
diff -u a/modules/socket-module.c b/modules/socket-module.c
--- a/modules/socket-module.c 2007-10-24 02:17:41.000000000 +0000
+++ b/modules/socket-module.c 2009-01-19 05:09:00.000000000 +0000
@@ -442,7 +442,7 @@
throw_herror ("gethostbyname", h_errno);
return NULL;
}
-#ifndef h_addr
+#if 0
/* Older interface. There is only one address, so fake a list */
h_addr_list = fake_h_addr_list;
h_addr_list [0] = hp->h_addr;
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]