* port-sockets.h (SOCKET_WRITEV) [!_WIN32]: Use TMP after setting it, to silence...
authorKen Raeburn <raeburn@mit.edu>
Fri, 5 Jul 2002 21:39:33 +0000 (21:39 +0000)
committerKen Raeburn <raeburn@mit.edu>
Fri, 5 Jul 2002 21:39:33 +0000 (21:39 +0000)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14606 dc483132-0cff-0310-8789-dd5450dbe970

src/include/ChangeLog
src/include/configure.in
src/include/fake-addrinfo.h
src/include/port-sockets.h

index a972daf0508e1a6143bf676872b7b3b192960d05..30e24b142fe7d4bdcad1cb1d7e4745797b995263 100644 (file)
@@ -1,3 +1,8 @@
+2002-07-05  Ken Raeburn  <raeburn@mit.edu>
+
+       * port-sockets.h (SOCKET_WRITEV) [!_WIN32]: Use TMP after setting
+       it, to silence compiler warnings.
+
 2002-06-26  Ezra Peisach  <epeisach@bu.edu>
 
        * configure.in: Modify test for in6addr_any definition in C
index 9c9199e7e9597275935d9ad213487b99d51c6337..7413bb03945e10454ded8a8c72c2edf44e567d0b 100644 (file)
@@ -5,10 +5,12 @@ AC_PROG_INSTALL
 AC_PROG_AWK
 AC_PROG_LEX
 AC_C_CONST
-AC_CHECK_FUNCS(strdup labs setvbuf memmove bcopy inet_ntoa inet_aton gethostbyname_r gethostbyaddr_r getservbyname_r getservbyport_r seteuid setresuid setreuid setegid setresgid setregid)
+AC_CHECK_FUNCS(strdup labs setvbuf memmove bcopy inet_ntoa inet_aton seteuid setresuid setreuid setegid setresgid setregid)
 dnl
 dnl Check what the return types for gethostbyname_r and getservbyname_r are.
 dnl
+AC_CHECK_FUNC(gethostbyname_r,[
+ac_cv_func_gethostbyname_r=yes
 if test "$ac_cv_func_gethostbyname_r" = yes; then
   AC_MSG_CHECKING([if gethostbyname_r returns an int])
   AC_CACHE_VAL(krb5_cv_gethostbyname_r_returns_int,
@@ -34,7 +36,14 @@ if test "$ac_cv_func_gethostbyname_r" = yes; then
     AC_DEFINE(GETHOSTBYNAME_R_RETURNS_INT, 1, [Define if gethostbyname_r returns int rather than struct hostent * ])
   fi
 fi
+if test "$ac_cv_func_gethostbyname_r" = yes; then
+  AC_DEFINE(HAVE_GETHOSTBYNAME_R, 1, [Define if gethostbyname_r exists and its return type is known])
+  AC_CHECK_FUNC(gethostbyaddr_r)
+fi
+])
 dnl
+AC_CHECK_FUNC(getservbyname_r,[
+ac_cv_func_getservbyname_r=yes
 if test "$ac_cv_func_getservbyname_r" = yes; then
   AC_MSG_CHECKING([if getservbyname_r returns an int])
   AC_CACHE_VAL(krb5_cv_getservbyname_r_returns_int,
@@ -60,6 +69,11 @@ if test "$ac_cv_func_getservbyname_r" = yes; then
     AC_DEFINE(GETSERVBYNAME_R_RETURNS_INT, 1, [Define if getservbyname_r returns int rather than struct servent * ])
   fi
 fi
+if test "$ac_cv_func_getservbyname_r" = yes; then
+  AC_DEFINE(HAVE_GETSERVBYNAME_R, 1, [Define if getservbyname_r exists and its return type is known])
+  AC_CHECK_FUNC(getservbyport_r)
+fi
+])
 dnl
 HAVE_YYLINENO
 CHECK_DIRENT
index c5083bcd7f779685cb10796b7ae99259d0297002..8d80b5b32984cbd9c9bf58da36e4c2cc86e47daa 100644 (file)
@@ -128,8 +128,8 @@ gai_strerror (int code) /*@*/;
 #endif
 
 #ifdef _WIN32
-#define HAVE_GETADDRINFO
-#define HAVE_GETNAMEINFO
+#define HAVE_GETADDRINFO 1
+#define HAVE_GETNAMEINFO 1
 #endif
 
 
@@ -379,7 +379,7 @@ int getnameinfo (const struct sockaddr *addr, socklen_t len,
 #define HAVE_FAKE_GETADDRINFO /* was not originally HAVE_GETADDRINFO */
 #define HAVE_GETADDRINFO
 #undef  HAVE_GETNAMEINFO
-#define HAVE_GETNAMEINFO
+#define HAVE_GETNAMEINFO 1
 
 static
 char *gai_strerror (int code);
@@ -417,6 +417,7 @@ char *gai_strerror (int code);
 #endif
 
 #ifdef NEED_FAKE_GETADDRINFO
+#include <string.h> /* for strspn */
 
 static inline int translate_h_errno (int h);
 
@@ -623,7 +624,8 @@ fake_getnameinfo (const struct sockaddr *sa, socklen_t len,
 #endif
        } else {
            int herr;
-           GET_HOST_BY_ADDR(&sinp->sin_addr, sizeof (struct in_addr),
+           GET_HOST_BY_ADDR((const char *) &sinp->sin_addr,
+                            sizeof (struct in_addr),
                             sa->sa_family, hp, herr);
            if (hp == 0) {
                if (herr == NO_ADDRESS && !(flags & NI_NAMEREQD)) /* ??? */
index 7c3ed1a91452d4b04da8559026572cb4c2f6a424..5dc936af9d3a16839af13fbf0a608695f4d2978f 100644 (file)
@@ -119,7 +119,7 @@ typedef struct iovec sg_buf;
 /* Use TMP to avoid compiler warnings and keep things consistent with
    Windoze version.  */
 #define SOCKET_WRITEV(FD, SG, LEN, TMP) \
-       ((TMP) = writev((FD), (SG), (LEN)))
+       ((TMP) = writev((FD), (SG), (LEN)), (TMP))
 
 #define SHUTDOWN_READ  0
 #define SHUTDOWN_WRITE 1