From 4c1c92c0bdd2b62845187c19a5f5821fe08cf47b Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Sat, 26 Sep 2009 17:34:48 +0100 Subject: [PATCH] Fix signed/unsigned warnings in XDR Our xdr routines use the same native functions to read signed, and unsigned integers from the wire. This leads to compiler warnings when the unsigned versions of these functions are called. This patch always casts to (afs_int32 *) when calling PUT_INT32 and GET_INT32, to resolve these warnings Reviewed-on: http://gerrit.openafs.org/507 Tested-by: Derrick Brashear Reviewed-by: Derrick Brashear --- src/rx/xdr.c | 16 ++++++++-------- src/rx/xdr_int64.c | 8 ++++---- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/rx/xdr.c b/src/rx/xdr.c index de005d4ed..ad8897e22 100644 --- a/src/rx/xdr.c +++ b/src/rx/xdr.c @@ -119,10 +119,10 @@ xdr_u_int(XDR * xdrs, u_int * uip) case XDR_ENCODE: l = (afs_uint32) * uip; - return (XDR_PUTINT32(xdrs, &l)); + return (XDR_PUTINT32(xdrs, (afs_int32 *) &l)); case XDR_DECODE: - if (!XDR_GETINT32(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, (afs_int32 *) &l)) { return (FALSE); } *uip = (u_int) l; @@ -174,10 +174,10 @@ xdr_u_long(XDR * xdrs, u_long * ulp) case XDR_ENCODE: l = (afs_uint32) * ulp; - return (XDR_PUTINT32(xdrs, &l)); + return (XDR_PUTINT32(xdrs, (afs_int32 *)&l)); case XDR_DECODE: - if (!XDR_GETINT32(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, (afs_int32 *)&l)) { return (FALSE); } *ulp = (u_long) l; @@ -229,10 +229,10 @@ xdr_u_char(XDR * xdrs, u_char * usp) case XDR_ENCODE: l = (afs_uint32) * usp; - return (XDR_PUTINT32(xdrs, &l)); + return (XDR_PUTINT32(xdrs, (afs_int32 *)&l)); case XDR_DECODE: - if (!XDR_GETINT32(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, (afs_int32 *)&l)) { return (FALSE); } *usp = (u_char) l; @@ -284,10 +284,10 @@ xdr_u_short(XDR * xdrs, u_short * usp) case XDR_ENCODE: l = (afs_uint32) * usp; - return (XDR_PUTINT32(xdrs, &l)); + return (XDR_PUTINT32(xdrs, (afs_int32 *)&l)); case XDR_DECODE: - if (!XDR_GETINT32(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, (afs_int32 *)&l)) { return (FALSE); } *usp = (u_short) l; diff --git a/src/rx/xdr_int64.c b/src/rx/xdr_int64.c index e3e790a57..fcca3c6ce 100644 --- a/src/rx/xdr_int64.c +++ b/src/rx/xdr_int64.c @@ -73,9 +73,9 @@ xdr_afs_uint64(XDR * xdrs, afs_uint64 * ulp) afs_uint32 low; if (xdrs->x_op == XDR_DECODE) { - if (!XDR_GETINT32(xdrs, (afs_uint32 *) & high)) + if (!XDR_GETINT32(xdrs, (afs_int32 *) & high)) return (FALSE); - if (!XDR_GETINT32(xdrs, (afs_uint32 *) & low)) + if (!XDR_GETINT32(xdrs, (afs_int32 *) & low)) return (FALSE); *ulp = high; *ulp <<= 32; @@ -85,9 +85,9 @@ xdr_afs_uint64(XDR * xdrs, afs_uint64 * ulp) if (xdrs->x_op == XDR_ENCODE) { high = (afs_uint32) (*ulp >> 32); low = (afs_uint32) (*ulp & 0xFFFFFFFFL); - if (!XDR_PUTINT32(xdrs, (afs_uint32 *) & high)) + if (!XDR_PUTINT32(xdrs, (afs_int32 *) & high)) return (FALSE); - return (XDR_PUTINT32(xdrs, (afs_uint32 *) & low)); + return (XDR_PUTINT32(xdrs, (afs_int32 *) & low)); } if (xdrs->x_op == XDR_FREE) return (TRUE); -- 2.39.5