From fd6765b4a3f8162bf36054cf3de6e88a6bdfadd3 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Mon, 11 Aug 2014 17:36:12 -0700 Subject: porting: OSX/Darwin 10.9 porting issues xdrproc_t() arguments are variadic and non-variadic On OSX > 10.9 ------------- typedef bool_t (*xdrproc_t)(XDR *, void *, unsigned int); On OSX < 10.9 ------------ typedef bool_t (*xdrproc_t)(XDR *, ...); FreeBSD all versions ------------ typedef bool_t (*xdrproc_t)(XDR *, ...); NetBSD 6.1.4 ----------- typedef bool_t (*xdrproc_t)(XDR *, const void *); Linux all versions ----------- typedef bool_t (*xdrproc_t)(XDR *, void *,...); This weird and odd implementations across various platforms should be handled properly. Change-Id: Iad8b7da2e5b82526bf3708cff31ab10ce09f59c9 BUG: 1128820 Signed-off-by: Harshavardhana Reviewed-on: http://review.gluster.org/8458 Reviewed-by: Emmanuel Dreyfus Tested-by: Gluster Build System --- rpc/xdr/src/xdr-generic.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'rpc/xdr/src/xdr-generic.c') diff --git a/rpc/xdr/src/xdr-generic.c b/rpc/xdr/src/xdr-generic.c index 58d1ee77ee2..fd6fceb9425 100644 --- a/rpc/xdr/src/xdr-generic.c +++ b/rpc/xdr/src/xdr-generic.c @@ -24,7 +24,7 @@ xdr_serialize_generic (struct iovec outmsg, void *res, xdrproc_t proc) xdrmem_create (&xdr, outmsg.iov_base, (unsigned int)outmsg.iov_len, XDR_ENCODE); - if (!proc (&xdr, res)) { + if (!PROC(&xdr, res)) { ret = -1; goto ret; } @@ -48,8 +48,8 @@ xdr_to_generic (struct iovec inmsg, void *args, xdrproc_t proc) xdrmem_create (&xdr, inmsg.iov_base, (unsigned int)inmsg.iov_len, XDR_DECODE); - if (!proc (&xdr, args)) { - ret = -1; + if (!PROC (&xdr, args)) { + ret = -1; goto ret; } @@ -72,7 +72,7 @@ xdr_to_generic_payload (struct iovec inmsg, void *args, xdrproc_t proc, xdrmem_create (&xdr, inmsg.iov_base, (unsigned int)inmsg.iov_len, XDR_DECODE); - if (!proc (&xdr, args)) { + if (!PROC (&xdr, args)) { ret = -1; goto ret; } -- cgit