]> git.decadent.org.uk Git - nfs-utils.git/commitdiff
Detect if glibc provides socklen_t and use that instead
authorGreg Banks <gnb@melbourne.sgi.com>
Tue, 27 Jun 2006 10:55:07 +0000 (20:55 +1000)
committerGreg Banks <gnb@melbourne.sgi.com>
Tue, 27 Jun 2006 10:55:07 +0000 (20:55 +1000)
of int in those cases which generate compile warnings,
e.g. the last argument of recvfrom().

configure.in
support/nfs/rpcmisc.c
utils/statd/rmtcall.c

index 3f8fbb57833bbb85af30ecd9305e3b7bbb801122..8459ef89b632d3390d5f3bb44fd0e6a6bacd74ef 100644 (file)
@@ -252,6 +252,8 @@ AC_CHECK_SIZEOF(short)
 AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(size_t)
+AC_CHECK_SIZEOF(socklen_t)
+
 
 dnl *************************************************************
 dnl Export some path names to config.h
index 8c94ad93218cf4831a35d9a3d86e29d8b82f46a0..5b0a88ff76745ea86c019718272bd3c10c66fa77 100644 (file)
 #include <time.h>
 #include "nfslib.h"
 
+#if SIZEOF_SOCKLEN_T - 0 == 0
+#define socklen_t int
+#endif
+
 static void    closedown(int sig);
 int    makesock(int port, int proto);
 
@@ -48,13 +52,13 @@ rpc_init(char *name, int prog, int vers, void (*dispatch)(), int defport)
        struct sockaddr_in saddr;
        SVCXPRT *transp;
        int     sock;
-       int     asize;
+       socklen_t asize;
 
        asize = sizeof(saddr);
        sock = 0;
        if (getsockname(0, (struct sockaddr *) &saddr, &asize) == 0
            && saddr.sin_family == AF_INET) {
-               int ssize = sizeof (int);
+               socklen_t ssize = sizeof (int);
                int fdtype = 0;
                if (getsockopt(0, SOL_SOCKET, SO_TYPE,
                                (char *)&fdtype, &ssize) == -1)
index 7684b3b51eb142b3c7f18e760868cd0575521729..35cbccb54029fabdbb068a366c7d25000bbc4212 100644 (file)
 #include "log.h"
 #include "ha-callout.h"
 
+#if SIZEOF_SOCKLEN_T - 0 == 0
+#define socklen_t int
+#endif
+
 #define MAXMSGSIZE     (2048 / sizeof(unsigned int))
 
 static unsigned long   xid = 0;        /* RPC XID counter */
@@ -278,7 +282,7 @@ recv_rply(int sockfd, struct sockaddr_in *sin, u_long *portp)
        struct rpc_msg          mesg;
        notify_list             *lp = NULL;
        XDR                     xdr, *xdrs = &xdr;
-       int                     alen = sizeof(*sin);
+       socklen_t               alen = sizeof(*sin);
 
        /* Receive message */
        if ((msglen = recvfrom(sockfd, msgbuf, sizeof(msgbuf), 0,