| From 196e8f3abaa6e8899ba2655c6c2d8751e33a9795 Mon Sep 17 00:00:00 2001 |
| From: "Yann E. MORIN" <yann.morin.1998@free.fr> |
| Date: Wed, 17 Aug 2016 10:16:47 -0400 |
| Subject: [PATCH] src: remove use of the __P() macro |
| |
| The __P() macro is a legacy compatibility macro aimed making pre-ANSI |
| (i.e. K&R) compilers that do not support function prototypes happy, |
| while still allowing such prototypes for ANSI-compliant compilers. |
| |
| Since virtually all compilers have been ANSI-compliant for a few decades |
| now, use of __P() is totally useless. |
| |
| Furthermore, __P() is defined in the non-standard sys/cdefs.h header. |
| This header is present in glibc and uClibc, and both have it included |
| from many of their headers. So, sys/cdefs.h is automagically included in |
| most cases and its macros are available. |
| |
| However, the musl C library does not provide this sys/cdefs.h header. |
| Thus, the build breaks on musl. |
| |
| For all the above reasons, get rid of __P() wherever it is used; just |
| always declare real function prototypes. |
| |
| Reviewed-by: Chuck Lever <chuck.lever@oracle.com> |
| Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> |
| Signed-off-by: Steve Dickson <steved@redhat.com> |
| Cc: Chuck Lever <chuck.lever@oracle.com> |
| Cc: Steve Dickson <SteveD@redhat.com> |
| Cc: Mike Frysinger <vapier@gentoo.org> |
| --- |
| src/check_bound.c | 2 +- |
| src/pmap_svc.c | 10 +++++----- |
| src/rpcb_svc.c | 10 +++++----- |
| src/rpcb_svc_4.c | 14 ++++++-------- |
| src/rpcb_svc_com.c | 46 +++++++++++++++++++++++----------------------- |
| src/rpcbind.c | 12 ++++++------ |
| src/util.c | 2 +- |
| src/warmstart.c | 4 ++-- |
| 8 files changed, 49 insertions(+), 51 deletions(-) |
| |
| diff --git a/src/check_bound.c b/src/check_bound.c |
| index c70b845..92bfd36 100644 |
| --- a/src/check_bound.c |
| +++ b/src/check_bound.c |
| @@ -70,7 +70,7 @@ static struct fdlist *fdhead; /* Link list of the check fd's */ |
| static struct fdlist *fdtail; |
| static char *nullstring = ""; |
| |
| -static bool_t check_bound __P((struct fdlist *, char *uaddr)); |
| +static bool_t check_bound(struct fdlist *, char *uaddr); |
| |
| /* |
| * Returns 1 if the given address is bound for the given addr & transport |
| diff --git a/src/pmap_svc.c b/src/pmap_svc.c |
| index ad28b93..4c744fe 100644 |
| --- a/src/pmap_svc.c |
| +++ b/src/pmap_svc.c |
| @@ -60,11 +60,11 @@ static char sccsid[] = "@(#)pmap_svc.c 1.23 89/04/05 Copyr 1984 Sun Micro"; |
| #include "rpcbind.h" |
| #include "xlog.h" |
| #include <rpc/svc_soc.h> /* svc_getcaller routine definition */ |
| -static struct pmaplist *find_service_pmap __P((rpcprog_t, rpcvers_t, |
| - rpcprot_t)); |
| -static bool_t pmapproc_change __P((struct svc_req *, SVCXPRT *, u_long)); |
| -static bool_t pmapproc_getport __P((struct svc_req *, SVCXPRT *)); |
| -static bool_t pmapproc_dump __P((struct svc_req *, SVCXPRT *)); |
| +static struct pmaplist *find_service_pmap(rpcprog_t, rpcvers_t, |
| + rpcprot_t); |
| +static bool_t pmapproc_change(struct svc_req *, SVCXPRT *, u_long); |
| +static bool_t pmapproc_getport(struct svc_req *, SVCXPRT *); |
| +static bool_t pmapproc_dump(struct svc_req *, SVCXPRT *); |
| |
| /* |
| * Called for all the version 2 inquiries. |
| diff --git a/src/rpcb_svc.c b/src/rpcb_svc.c |
| index bd92201..709e3fb 100644 |
| --- a/src/rpcb_svc.c |
| +++ b/src/rpcb_svc.c |
| @@ -53,10 +53,10 @@ |
| #include "rpcbind.h" |
| #include "xlog.h" |
| |
| -static void *rpcbproc_getaddr_3_local __P((void *, struct svc_req *, SVCXPRT *, |
| - rpcvers_t)); |
| -static void *rpcbproc_dump_3_local __P((void *, struct svc_req *, SVCXPRT *, |
| - rpcvers_t)); |
| +static void *rpcbproc_getaddr_3_local(void *, struct svc_req *, SVCXPRT *, |
| + rpcvers_t); |
| +static void *rpcbproc_dump_3_local(void *, struct svc_req *, SVCXPRT *, |
| + rpcvers_t); |
| |
| /* |
| * Called by svc_getreqset. There is a separate server handle for |
| @@ -75,7 +75,7 @@ rpcb_service_3(struct svc_req *rqstp, SVCXPRT *transp) |
| } argument; |
| char *result; |
| xdrproc_t xdr_argument, xdr_result; |
| - void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); |
| + void *(*local)(void *, struct svc_req *, SVCXPRT *, rpcvers_t); |
| rpcprog_t setprog = 0; |
| |
| rpcbs_procinfo(RPCBVERS_3_STAT, rqstp->rq_proc); |
| diff --git a/src/rpcb_svc_4.c b/src/rpcb_svc_4.c |
| index b673452..5094879 100644 |
| --- a/src/rpcb_svc_4.c |
| +++ b/src/rpcb_svc_4.c |
| @@ -54,13 +54,11 @@ |
| #include "rpcbind.h" |
| #include "xlog.h" |
| |
| -static void *rpcbproc_getaddr_4_local __P((void *, struct svc_req *, SVCXPRT *, |
| - rpcvers_t)); |
| -static void *rpcbproc_getversaddr_4_local __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); |
| -static void *rpcbproc_getaddrlist_4_local |
| - __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); |
| -static void free_rpcb_entry_list __P((rpcb_entry_list_ptr *)); |
| -static void *rpcbproc_dump_4_local __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); |
| +static void *rpcbproc_getaddr_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); |
| +static void *rpcbproc_getversaddr_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); |
| +static void *rpcbproc_getaddrlist_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); |
| +static void free_rpcb_entry_list(rpcb_entry_list_ptr *); |
| +static void *rpcbproc_dump_4_local(void *, struct svc_req *, SVCXPRT *, rpcvers_t); |
| |
| /* |
| * Called by svc_getreqset. There is a separate server handle for |
| @@ -78,7 +76,7 @@ rpcb_service_4(struct svc_req *rqstp, SVCXPRT *transp) |
| } argument; |
| char *result; |
| xdrproc_t xdr_argument, xdr_result; |
| - void *(*local) __P((void *, struct svc_req *, SVCXPRT *, rpcvers_t)); |
| + void *(*local)(void *, struct svc_req *, SVCXPRT *, rpcvers_t); |
| rpcprog_t setprog = 0; |
| |
| rpcbs_procinfo(RPCBVERS_4_STAT, rqstp->rq_proc); |
| diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c |
| index 148fe42..5862c26 100644 |
| --- a/src/rpcb_svc_com.c |
| +++ b/src/rpcb_svc_com.c |
| @@ -100,29 +100,29 @@ struct finfo { |
| static struct finfo FINFO[NFORWARD]; |
| |
| |
| -static bool_t xdr_encap_parms __P((XDR *, struct encap_parms *)); |
| -static bool_t xdr_rmtcall_args __P((XDR *, struct r_rmtcall_args *)); |
| -static bool_t xdr_rmtcall_result __P((XDR *, struct r_rmtcall_args *)); |
| -static bool_t xdr_opaque_parms __P((XDR *, struct r_rmtcall_args *)); |
| -static int find_rmtcallfd_by_netid __P((char *)); |
| -static SVCXPRT *find_rmtcallxprt_by_fd __P((int)); |
| -static int forward_register __P((u_int32_t, struct netbuf *, int, char *, |
| - rpcproc_t, rpcvers_t, u_int32_t *)); |
| -static struct finfo *forward_find __P((u_int32_t)); |
| -static int free_slot_by_xid __P((u_int32_t)); |
| -static int free_slot_by_index __P((int)); |
| -static int netbufcmp __P((struct netbuf *, struct netbuf *)); |
| -static struct netbuf *netbufdup __P((struct netbuf *)); |
| -static void netbuffree __P((struct netbuf *)); |
| -static int check_rmtcalls __P((struct pollfd *, int)); |
| -static void xprt_set_caller __P((SVCXPRT *, struct finfo *)); |
| -static void send_svcsyserr __P((SVCXPRT *, struct finfo *)); |
| -static void handle_reply __P((int, SVCXPRT *)); |
| -static void find_versions __P((rpcprog_t, char *, rpcvers_t *, rpcvers_t *)); |
| -static rpcblist_ptr find_service __P((rpcprog_t, rpcvers_t, char *)); |
| -static char *getowner __P((SVCXPRT *, char *, size_t)); |
| -static int add_pmaplist __P((RPCB *)); |
| -static int del_pmaplist __P((RPCB *)); |
| +static bool_t xdr_encap_parms(XDR *, struct encap_parms *); |
| +static bool_t xdr_rmtcall_args(XDR *, struct r_rmtcall_args *); |
| +static bool_t xdr_rmtcall_result(XDR *, struct r_rmtcall_args *); |
| +static bool_t xdr_opaque_parms(XDR *, struct r_rmtcall_args *); |
| +static int find_rmtcallfd_by_netid(char *); |
| +static SVCXPRT *find_rmtcallxprt_by_fd(int); |
| +static int forward_register(u_int32_t, struct netbuf *, int, char *, |
| + rpcproc_t, rpcvers_t, u_int32_t *); |
| +static struct finfo *forward_find(u_int32_t); |
| +static int free_slot_by_xid(u_int32_t); |
| +static int free_slot_by_index(int); |
| +static int netbufcmp(struct netbuf *, struct netbuf *); |
| +static struct netbuf *netbufdup(struct netbuf *); |
| +static void netbuffree(struct netbuf *); |
| +static int check_rmtcalls(struct pollfd *, int); |
| +static void xprt_set_caller(SVCXPRT *, struct finfo *); |
| +static void send_svcsyserr(SVCXPRT *, struct finfo *); |
| +static void handle_reply(int, SVCXPRT *); |
| +static void find_versions(rpcprog_t, char *, rpcvers_t *, rpcvers_t *); |
| +static rpcblist_ptr find_service(rpcprog_t, rpcvers_t, char *); |
| +static char *getowner(SVCXPRT *, char *, size_t); |
| +static int add_pmaplist(RPCB *); |
| +static int del_pmaplist(RPCB *); |
| |
| /* |
| * Set a mapping of program, version, netid |
| diff --git a/src/rpcbind.c b/src/rpcbind.c |
| index c4265cd..87ccdc2 100644 |
| --- a/src/rpcbind.c |
| +++ b/src/rpcbind.c |
| @@ -136,13 +136,13 @@ char *tcp_uaddr; /* Universal TCP address */ |
| static char servname[] = "rpcbind"; |
| static char superuser[] = "superuser"; |
| |
| -int main __P((int, char *[])); |
| +int main(int, char *[]); |
| |
| -static int init_transport __P((struct netconfig *)); |
| -static void rbllist_add __P((rpcprog_t, rpcvers_t, struct netconfig *, |
| - struct netbuf *)); |
| -static void terminate __P((int)); |
| -static void parseargs __P((int, char *[])); |
| +static int init_transport(struct netconfig *); |
| +static void rbllist_add(rpcprog_t, rpcvers_t, struct netconfig *, |
| + struct netbuf *); |
| +static void terminate(int); |
| +static void parseargs(int, char *[]); |
| |
| int |
| main(int argc, char *argv[]) |
| diff --git a/src/util.c b/src/util.c |
| index a6c835b..74b0284 100644 |
| --- a/src/util.c |
| +++ b/src/util.c |
| @@ -70,7 +70,7 @@ static struct sockaddr_in *local_in4; |
| static struct sockaddr_in6 *local_in6; |
| #endif |
| |
| -static int bitmaskcmp __P((void *, void *, void *, int)); |
| +static int bitmaskcmp(void *, void *, void *, int); |
| |
| /* |
| * For all bits set in "mask", compare the corresponding bits in |
| diff --git a/src/warmstart.c b/src/warmstart.c |
| index b6eb73e..122a058 100644 |
| --- a/src/warmstart.c |
| +++ b/src/warmstart.c |
| @@ -58,8 +58,8 @@ |
| #define PMAPFILE RPCBIND_STATEDIR "/portmap.xdr" |
| #endif |
| |
| -static bool_t write_struct __P((char *, xdrproc_t, void *)); |
| -static bool_t read_struct __P((char *, xdrproc_t, void *)); |
| +static bool_t write_struct(char *, xdrproc_t, void *); |
| +static bool_t read_struct(char *, xdrproc_t, void *); |
| |
| static bool_t |
| write_struct(char *filename, xdrproc_t structproc, void *list) |
| -- |
| 1.8.3.1 |
| |