Make things work on IRIX again
authorKen Raeburn <raeburn@mit.edu>
Thu, 21 Aug 2003 03:55:53 +0000 (03:55 +0000)
committerKen Raeburn <raeburn@mit.edu>
Thu, 21 Aug 2003 03:55:53 +0000 (03:55 +0000)
* fake-addrinfo.h (inline): Move definitions further up, before first use.  Do
use __inline__ for gcc without c99 support.
(GET_SERV_BY_NAME) [!GETSERVBYNAME_R_RETURNS_INT]: Fix invocation for IRIX
definition.
* socket-utils.h: Include port-sockets.h to get a definition for struct
sockaddr_storage.

ticket: 1380
status: open

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

src/include/ChangeLog
src/include/fake-addrinfo.h
src/include/socket-utils.h

index 853ed01eac25d5171dce2a57266884a052008895..1b650b9aad338c2d238eba6ae560f310defaab4f 100644 (file)
@@ -1,5 +1,12 @@
 2003-08-20  Ken Raeburn  <raeburn@mit.edu>
 
+       * fake-addrinfo.h (inline): Move definitions further up, before
+       first use.  Do use __inline__ for gcc without c99 support.
+       (GET_SERV_BY_NAME) [!GETSERVBYNAME_R_RETURNS_INT]: Fix invocation
+       for IRIX definition.
+       * socket-utils.h: Include port-sockets.h to get a definition for
+       struct sockaddr_storage.
+
        First cut at adding local caching to the getaddrinfo support.
        Still needs work.
        * fake-addrinfo.h: Delete the unused WRAP_GETNAMEINFO support.
index 19c212ab2d4724d3c3b4f6b188986fd07ee1c9b9..ded8745acdad63dd55b39bdc1f93409d778300a8 100644 (file)
 #include "port-sockets.h"
 #include "socket-utils.h"
 
+#if !defined(inline)
+# if __STDC_VERSION__ >= 199901L
+/* C99 supports inline, don't do anything.  */
+# elif defined(__GNUC__)
+#  define inline __inline__ /* this form silences -pedantic warnings */
+# elif defined(__mips) && defined(__sgi)
+#  define inline __inline /* IRIX used at MIT does inline but not c99 yet */
+# else
+#  define inline /* nothing, just static */
+# endif
+# define ADDRINFO_UNDEF_INLINE
+#endif
+
 #ifdef S_SPLINT_S
 /*@-incondefs@*/
 extern int
@@ -277,11 +290,10 @@ extern /*@dependent@*/ char *gai_strerror (int code) /*@*/;
 #define GET_SERV_BY_NAME(NAME, PROTO, SP, ERR) \
     {                                                                  \
        struct servent my_s_ent;                                        \
-       int my_s_err;                                                   \
        char my_s_buf[8192];                                            \
        (SP) = getservbyname_r((NAME), (PROTO), &my_s_ent,              \
-                              my_s_buf, sizeof (my_s_buf), &my_s_err); \
-       (ERR) = my_s_err;                                               \
+                              my_s_buf, sizeof (my_s_buf));            \
+       (ERR) = (SP) == NULL;                                           \
     }
 
 #define GET_SERV_BY_PORT(PORT, PROTO, SP, ERR) \
@@ -553,17 +565,6 @@ char *gai_strerror (int code);
 # define AI_NUMERICHOST 0
 #endif
 
-#if !defined(inline)
-# if __STDC_VERSION__ >= 199901L || defined(__GNUC__)
-/* C99 and GCC support inline, don't do anything.  */
-# elif defined(__mips) && defined(__sgi)
-#  define inline __inline /* IRIX used at MIT does inline but not c99 yet */
-# else
-#  define inline /* nothing, just static */
-# endif
-# define ADDRINFO_UNDEF_INLINE
-#endif
-
 #if !defined(_XOPEN_SOURCE_EXTENDED) && !defined(HAVE_MACSOCK_H) && !defined(_WIN32)
 /* Hack for HPUX, to get h_errno.  */
 # define _XOPEN_SOURCE_EXTENDED 1
index e5ea8f8a90d1e0880ec7dd44c82c113e63735b75..62c4d070ca477adb8221dc193ff7d8db1c35150e 100644 (file)
@@ -52,6 +52,8 @@
 
 /* for HAVE_SOCKLEN_T, KRB5_USE_INET6, etc */
 #include "krb5/autoconf.h"
+/* for sockaddr_storage */
+#include "port-sockets.h"
 
 #if defined (__GNUC__)
 /*