* fake-addrinfo.c (_XOPEN_SOURCE_EXTENDED): Define if not defined, and if not
authorKen Raeburn <raeburn@mit.edu>
Tue, 19 Feb 2002 21:34:13 +0000 (21:34 +0000)
committerKen Raeburn <raeburn@mit.edu>
Tue, 19 Feb 2002 21:34:13 +0000 (21:34 +0000)
Mac or Windows, for duration of inclusion of netdb.h.  This gets us the h_errno
declaration on HP-UX.
(getnameinfo): Cast gethostbyaddr pointer arg to char *, not sockaddr *.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14147 dc483132-0cff-0310-8789-dd5450dbe970

src/include/ChangeLog
src/include/fake-addrinfo.c

index 3b405fa087d587791bbf1bb9f4115bcedc691fc7..622df4e2824109b7262dff2dc94b2a54a865bdba 100644 (file)
@@ -1,3 +1,11 @@
+2002-02-19  Ken Raeburn  <raeburn@mit.edu>
+
+       * fake-addrinfo.c (_XOPEN_SOURCE_EXTENDED): Define if not defined,
+       and if not Mac or Windows, for duration of inclusion of netdb.h.
+       This gets us the h_errno declaration on HP-UX.
+       (getnameinfo): Cast gethostbyaddr pointer arg to char *, not
+       sockaddr *.
+
 2002-02-10  Ken Raeburn  <raeburn@mit.edu>
 
        * fake-addrinfo.h: Always check for FAI_PREFIX, not just when fake
index 1f0047213fb58d0f358b38f176329378a94a4920..a78e9daf41683844af8c9cc7fad8b8ac75c7ab56 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2001 by the Massachusetts Institute of Technology,
+ * Copyright (C) 2001,2002 by the Massachusetts Institute of Technology,
  * Cambridge, MA, USA.  All Rights Reserved.
  * 
  * This software is being provided to you, the LICENSEE, by the 
 
 #include "fake-addrinfo.h"
 
+#if !defined(_XOPEN_SOURCE_EXTENDED) && !defined(HAVE_MACSOCK_H) && !defined(_WIN32)
+/* Hack for HPUX, to get h_errno.  */
+# define _XOPEN_SOURCE_EXTENDED 1
+# include <netdb.h>
+# undef _XOPEN_SOURCE_EXTENDED
+#endif
+
 void fixup_addrinfo (struct addrinfo *ai)
 {
     struct addrinfo *ai2;
@@ -263,7 +270,8 @@ int getnameinfo (const struct sockaddr *sa, socklen_t len,
            else
                return EAI_FAIL; /* ?? */
        } else {
-           hp = gethostbyaddr ((struct sockaddr *) &sinp->sin_addr, sizeof (struct in_addr),
+           hp = gethostbyaddr ((const char *) &sinp->sin_addr,
+                               sizeof (struct in_addr),
                                sa->sa_family);
            if (hp == 0) {
                if (h_errno == NO_ADDRESS && !(flags & NI_NAMEREQD)) /* ??? */