Petter Reinholdtsen <[EMAIL PROTECTED]> writes:

> To get coreutils 6.1 to build on Tru64 Unix, in addition to the minor
> typo reported earlier, I had to change the prototype used for
> getnameinfo() to match the on in /usr/include/netdb.h....
> The problem was that the selected prototype used size_t instead of
> socklen_t for salen, nodelen and servicelen.  An alternative prototype
> in the header (not used in this build) used socklen for salen, and
> size_t for nodelen and servicelen.

Thanks for reporting this.  Does the following patch solve the
problem?  It's a bit less ugly than the one you sent in, and should
work even with the alternative prototypes.

It's a bit weird, though, that Tru64 has getnameinfo declared but
getaddrinfo is not defined.  Is that correct, or am I missing
something?

2006-09-18  Paul Eggert  <[EMAIL PROTECTED]>

        * getaddrinfo.h (getnameinfo)
        [HAVE_DECL_GETNAMEINFO && !HAVE_GETADDRINFO]:
        Define to rpl_getnameinfo, to work around a Tru64 porting bug
        reported by Petter Reinholdtsen.

--- getaddrinfo.h.~1.18.~       2006-07-22 03:13:57.000000000 -0700
+++ getaddrinfo.h       2006-09-18 11:38:16.000000000 -0700
@@ -133,7 +133,12 @@ extern void freeaddrinfo (struct addrinf
 extern const char *gai_strerror (int ecode);
 #endif
 
-#if !HAVE_DECL_GETNAMEINFO
+#if HAVE_DECL_GETNAMEINFO
+# if !HAVE_GETADDRINFO
+   /* Work around incompatible decls in Tru64 <netdb.h>.  */
+#  define getnameinfo rpl_getnameinfo
+# endif
+#else
 /* Convert socket address to printable node and service names.
    For more details, see the POSIX:2001 specification
    <http://www.opengroup.org/susv3xsh/getnameinfo.html>.  */


Reply via email to