diff mbox series

[2/2] rpc/rpc-tirpc: Fix compile error on clang when using registerrpc

Message ID 1682413930-19764-2-git-send-email-xuyang2018.jy@fujitsu.com
State Accepted
Headers show
Series [1/2] rpc/rpc-tirpc: Fix compile error on clang when using clnt_broadcast | expand

Commit Message

Yang Xu April 25, 2023, 9:12 a.m. UTC
When clang upgrade to 16.0.0-2.fc38, these case will report
incompatible-function-pointer-types  error as below:

rpc_registerrpc.c:72:4: error: incompatible function pointer types passing
'bool_t (XDR *, int *)' (aka 'int (struct __rpc_xdr *, int *)') to parameter
of type 'xdrproc_t' (aka 'int (*)(struct __rpc_xdr *, ...)') [-Wincompatible-function-pointer-types]
xdr_int);

the registerrpc declare as below:

int registerrpc(int, int, int, char *(*)(char [UDPMSGSIZE]),
    xdrproc_t, xdrproc_t);

so we should add xdrproc_t cast to avoid this.

Signed-off-by: Yang Xu <xuyang2018.jy@fujitsu.com>
---
ps: has verified it on my ltp fork.
 .../rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Petr Vorel April 25, 2023, 2:05 p.m. UTC | #1
Hi Xu,

> +++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
> @@ -68,8 +68,8 @@ int main(int argn, char *argc[])

Reviewed-by: Petr Vorel <pvorel@suse.cz>

>  	//call routine
>  	rslt =
> -	    registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int,
> -			xdr_int);
> +	    registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
> +			(xdrproc_t) xdr_int, (xdrproc_t) xdr_int);

Maybe just put rslt = on the same line (to fix often broken style a bit?)

rslt = registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
		(xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
Kind regards,
Petr
Yang Xu April 26, 2023, 1:59 a.m. UTC | #2
Hi Petr

> Hi Xu,
> 
>> +++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
>> @@ -68,8 +68,8 @@ int main(int argn, char *argc[])
> 
> Reviewed-by: Petr Vorel <pvorel@suse.cz>
> 
>>   	//call routine
>>   	rslt =
>> -	    registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int,
>> -			xdr_int);
>> +	    registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
>> +			(xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
> 
> Maybe just put rslt = on the same line (to fix often broken style a bit?)
> 
> rslt = registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
> 		(xdrproc_t) xdr_int, (xdrproc_t) xdr_int);

I have changed 1/2 patch commit message as you sugguested, also for this 
patch, I put them to the single line, thanks for your review, merged.

Best Regards
Yang Xu
> Kind regards,
> Petr
diff mbox series

Patch

diff --git a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
index 3becf4600..c6f76839c 100644
--- a/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
+++ b/testcases/network/rpc/rpc-tirpc/tests_pack/rpc_suite/rpc/rpc_regunreg_registerrpc/rpc_registerrpc.c
@@ -68,8 +68,8 @@  int main(int argn, char *argc[])
 
 	//call routine
 	rslt =
-	    registerrpc(progNum, VERSNUM, PROCNUM, simplePing, xdr_int,
-			xdr_int);
+	    registerrpc(progNum, VERSNUM, PROCNUM, simplePing,
+			(xdrproc_t) xdr_int, (xdrproc_t) xdr_int);
 
 	if (run_mode) {
 		printf("SVC : %p\n", svcr);