fix musl compatibility
authorFelix Fietkau <nbd@openwrt.org>
Fri, 10 Apr 2015 19:47:39 +0000 (21:47 +0200)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 10 Apr 2015 19:47:39 +0000 (21:47 +0200)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
18 files changed:
bindresvport.c
clnt_tcp.c
clnt_udp.c
clnt_unix.c
create_xid.c
pmap_rmt.c
rcmd.c
rpc/compat.h
rpc/netdb.h
rpc/types.h
rpc_commondata.c
rtime.c
sa_len.c
svc.c
svc_run.c
svc_tcp.c
svc_unix.c
xdr_float.c

index fc077af6791d2605b64845489be68caa888d8194..3252f141a48f94da059775c0f6a094418f9ea7a1 100644 (file)
@@ -39,6 +39,7 @@
 #include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
+#include <netdb.h>
 
 
 /*
index d01fc80d5dba8d8f8f1729d0f03b33c14a931062..17d695333755b8ace9b5a2ee0016ec26945a1277 100644 (file)
@@ -58,7 +58,7 @@ static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro";
 #include <stdio.h>
 #include <unistd.h>
 #include <rpc/rpc.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/socket.h>
 #include <rpc/pmap_clnt.h>
 #ifdef USE_IN_LIBIO
index fe8b7f8e651409817b78c36ec226682df05dc126..aa57ad0b28d3422de2b06d7b2a23c6f63c35446e 100644 (file)
@@ -45,7 +45,7 @@ static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro";
 #include <rpc/rpc.h>
 #include <rpc/xdr.h>
 #include <rpc/clnt.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/socket.h>
 #include <sys/ioctl.h>
 #include <netdb.h>
index c7756f70010fc652d32b6d0b8be80287c1a3fe3a..038169a5fce4399d36f6419bb7fe1dd48bd63e6b 100644 (file)
@@ -55,7 +55,7 @@
 #include <unistd.h>
 #include <rpc/rpc.h>
 #include <sys/uio.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/socket.h>
 #include <rpc/pmap_clnt.h>
 #ifdef USE_IN_LIBIO
index 1ba5f554d4aaf4a7f40b6acd875fd8e5b77bee06..35d26d15c2a82e821b31f061f01c5184e67062be 100644 (file)
@@ -31,7 +31,6 @@
 __UCLIBC_MUTEX_STATIC(mylock, PTHREAD_MUTEX_INITIALIZER);
 
 static smallint is_initialized;
-static struct drand48_data __rpc_lrand48_data;
 
 u_long _create_xid (void) attribute_hidden;
 u_long _create_xid (void)
@@ -45,11 +44,11 @@ u_long _create_xid (void)
       struct timeval now;
 
       gettimeofday (&now, (struct timezone *) 0);
-      srand48_r (now.tv_sec ^ now.tv_usec, &__rpc_lrand48_data);
+      srand48 (now.tv_sec ^ now.tv_usec);
       is_initialized = 1;
     }
 
-  lrand48_r (&__rpc_lrand48_data, &res);
+  res = lrand48();
 
   __UCLIBC_MUTEX_UNLOCK(mylock);
 
index f9dd6e72755499049c6eadb0829a5602076438a1..d046bd729909634cb7073e263019c17935508cea 100644 (file)
@@ -48,7 +48,7 @@ static char sccsid[] = "@(#)pmap_rmt.c 1.21 87/08/27 Copyr 1984 Sun Micro";
 #include <rpc/pmap_prot.h>
 #include <rpc/pmap_clnt.h>
 #include <rpc/pmap_rmt.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/socket.h>
 #include <stdio.h>
 #include <errno.h>
diff --git a/rcmd.c b/rcmd.c
index 7712f87544002d7d0014b4f9ed19d476e420c2b2..df209736f8bbbf8cd62cf5d2b0ab94e9866252a6 100644 (file)
--- a/rcmd.c
+++ b/rcmd.c
@@ -62,9 +62,10 @@ static char sccsid[] = "@(#)rcmd.c   8.3 (Berkeley) 3/26/94";
 #define __UCLIBC_HIDE_DEPRECATED__
 #include <features.h>
 #include <sys/param.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/socket.h>
 #include <sys/stat.h>
+#include <sys/types.h>
 
 #include <netinet/in.h>
 #include <arpa/inet.h>
@@ -86,6 +87,11 @@ static char sccsid[] = "@(#)rcmd.c   8.3 (Berkeley) 3/26/94";
 #endif
 #include <sys/uio.h>
 
+#ifndef _PATH_HEQUIV
+#define _PATH_HEQUIV "/etc/hosts.equiv"
+#endif
+
+int rresvport(int *alport);
 
 /* some forward declarations */
 static int __ivaliduser2(FILE *hostf, u_int32_t raddr,
@@ -106,7 +112,7 @@ int rcmd(char **ahost, u_short rport, const char *locuser, const char *remuser,
        struct hostent *hp;
        struct sockaddr_in sin, from;
        struct pollfd pfd[2];
-       int32_t oldmask;
+       sigset_t sig, osig;
        pid_t pid;
        int s, lport, timo;
        char c;
@@ -145,7 +151,9 @@ int rcmd(char **ahost, u_short rport, const char *locuser, const char *remuser,
        pfd[1].events = POLLIN;
 
         *ahost = hp->h_name;
-        oldmask = sigblock(sigmask(SIGURG)); /* __sigblock */
+       sigemptyset(&sig);
+       sigaddset(&sig, SIGURG);
+       sigprocmask(SIG_BLOCK, &sig, &osig);
        for (timo = 1, lport = IPPORT_RESERVED - 1;;) {
                s = rresvport(&lport);
                if (s < 0) {
@@ -154,7 +162,7 @@ int rcmd(char **ahost, u_short rport, const char *locuser, const char *remuser,
                                          "rcmd: socket: All ports in use\n");
                        else
                            (void)fprintf(stderr, "rcmd: socket: %m\n");
-                       sigsetmask(oldmask); /* sigsetmask */
+                       sigprocmask(SIG_SETMASK, &osig, NULL);
                        return -1;
                }
                fcntl(s, F_SETOWN, pid);
@@ -189,7 +197,7 @@ int rcmd(char **ahost, u_short rport, const char *locuser, const char *remuser,
                        continue;
                }
                (void)fprintf(stderr, "%s: %m\n", hp->h_name);
-               sigsetmask(oldmask); /* __sigsetmask */
+               sigprocmask(SIG_SETMASK, &osig, NULL);
                return -1;
        }
        lport--;
@@ -256,14 +264,14 @@ int rcmd(char **ahost, u_short rport, const char *locuser, const char *remuser,
                }
                goto bad2;
        }
-       sigsetmask(oldmask);
+       sigprocmask(SIG_SETMASK, &osig, NULL);
        return s;
 bad2:
        if (lport)
                (void)close(*fd2p);
 bad:
        (void)close(s);
-       sigsetmask(oldmask);
+       sigprocmask(SIG_SETMASK, &osig, NULL);
        return -1;
 }
 
index de8b497c9d9fc02b78136079521c8a2741d1964e..b49fe770b4cd3704773a4060454a694b1dee6de4 100644 (file)
@@ -11,7 +11,7 @@
 #define __UCLIBC_HAS_THREADS__
 #endif
 
-#include <sys/poll.h>
+#include <poll.h>
 #include <pthread.h>
 
 #ifdef __UCLIBC__
index 92f264ad81db39edec1ab55214e05b36d112068f..110fd490989b76638cd0b5374658dd26023f7232 100644 (file)
 #define _RPC_NETDB_H   1
 
 #include <features.h>
+#include <netdb.h>
 
 #define __need_size_t
 #include <stddef.h>
 
 #include "types.h"
 
+#ifndef NETDB_INTERNAL
+#define NETDB_INTERNAL -1
+#endif
+
 __BEGIN_DECLS
 
 struct rpcent
index cf3c9e3efe4fc74214932b8b895a4a9d6a348514..85fc033f470e42e49c2dcafad729f309847cee55 100644 (file)
@@ -79,22 +79,6 @@ typedef unsigned long rpcport_t;
 #include <sys/types.h>
 #endif
 
-#ifndef __u_char_defined
-typedef __u_char u_char;
-typedef __u_short u_short;
-typedef __u_int u_int;
-typedef __u_long u_long;
-typedef __quad_t quad_t;
-typedef __u_quad_t u_quad_t;
-typedef __fsid_t fsid_t;
-# define __u_char_defined
-#endif
-#ifndef __daddr_t_defined
-typedef __daddr_t daddr_t;
-typedef __caddr_t caddr_t;
-# define __daddr_t_defined
-#endif
-
 #include <sys/time.h>
 #include <sys/param.h>
 
index 187d915bac14bd5de03af7d2ad318ad7615bb5aa..ba111287b15d7649f955921d26bfda5638d24d86 100644 (file)
@@ -27,7 +27,7 @@
  * Mountain View, California  94043
  */
 #include <rpc/rpc.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/select.h>
 
 #undef svc_fdset
diff --git a/rtime.c b/rtime.c
index f9f1d9e9de13b01247d5a8c46cc5b475c463fe14..461effa4382c658b4a659970e10b7832636b57ce 100644 (file)
--- a/rtime.c
+++ b/rtime.c
@@ -51,13 +51,16 @@ static char sccsid[] = "@(#)rtime.c 2.2 88/08/10 4.0 RPCSRC; from 1.8 88/02/08 S
 #include <rpc/rpc.h>
 #include <rpc/clnt.h>
 #include <sys/types.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <sys/socket.h>
 #include <sys/time.h>
 #include <rpc/auth_des.h>
 #include <errno.h>
 #include <netinet/in.h>
 
+#ifndef IPPORT_TIMESERVER
+#define IPPORT_TIMESERVER 37
+#endif
 
 #define NYEARS (u_long)(1970 - 1900)
 #define TOFFSET (u_long)(60*60*24*(365*NYEARS + (NYEARS/4)))
index 3b37eba4492194cfc768bde70b57a808023e5176..751bc014fb1be94249c2270b59607e4abd1935ba 100644 (file)
--- a/sa_len.c
+++ b/sa_len.c
@@ -20,9 +20,9 @@
 #include <features.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
-#include <netipx/ipx.h>
 #include <sys/un.h>
 #if 0
+#include <netipx/ipx.h>
 #include <netash/ash.h>
 #include <netatalk/at.h>
 #include <netax25/ax25.h>
@@ -49,13 +49,13 @@ int __libc_sa_len (sa_family_t af)
       return sizeof (struct sockaddr_rose);
     case AF_PACKET:
       return sizeof (struct sockaddr_ll);
+    case AF_IPX:
+      return sizeof (struct sockaddr_ipx);
 #endif
     case AF_INET:
       return sizeof (struct sockaddr_in);
     case AF_INET6:
       return sizeof (struct sockaddr_in6);
-    case AF_IPX:
-      return sizeof (struct sockaddr_ipx);
     case AF_LOCAL:
       return sizeof (struct sockaddr_un);
     }
diff --git a/svc.c b/svc.c
index 0f5300c8bc6dfd0b82525cb83f59988a8e8c1cea..26824e32167ec907ce0dd8f60c6f3bc878605550 100644 (file)
--- a/svc.c
+++ b/svc.c
@@ -44,7 +44,7 @@
 #include "rpc_private.h"
 #include <rpc/svc.h>
 #include <rpc/pmap_clnt.h>
-#include <sys/poll.h>
+#include <poll.h>
 
 /* used by svc_[max_]pollfd */
 /* used by svc_fdset */
index 1442cba5534d967c10f38bc0910e033ed1dec5d9..5207dc1d62390d6dd3870b16ebbe133bfc5cccd5 100644 (file)
--- a/svc_run.c
+++ b/svc_run.c
@@ -36,7 +36,7 @@
 
 #include <errno.h>
 #include <unistd.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <rpc/rpc.h>
 
 /* used by svc_[max_]pollfd */
index 363f20315be33f9351e48e83f351edb0d41211ec..75ada0f5758309de6f69da9ebcf181c2d66caac0 100644 (file)
--- a/svc_tcp.c
+++ b/svc_tcp.c
@@ -49,7 +49,7 @@ static char sccsid[] = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro";
 #include <string.h>
 #include <rpc/rpc.h>
 #include <sys/socket.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <errno.h>
 #include <stdlib.h>
 
index 61859773d06a005343c6c8e0488bbe60db128d04..c0b88a899c11c8d14f5634d0eb5c591afa6f2e52 100644 (file)
@@ -47,7 +47,7 @@
 #include <rpc/svc.h>
 #include <sys/socket.h>
 #include <sys/uio.h>
-#include <sys/poll.h>
+#include <poll.h>
 #include <errno.h>
 #include <stdlib.h>
 
index fd3863ff57bfa08056b3ef0b9040d926c3d42e77..8d9ca41c45dbace413ed5278ec472de76d0ea4a3 100644 (file)
@@ -55,7 +55,7 @@ static char sccsid[] = "@(#)xdr_float.c 1.12 87/08/11 Copyr 1984 Sun Micro";
  * This routine works on Suns (Sky / 68000's) and Vaxen.
  */
 
-#define LSW    (__FLOAT_WORD_ORDER == __BIG_ENDIAN)
+#define LSW    (__BYTE_ORDER == __BIG_ENDIAN)
 
 #ifdef vax