From: Simon Wilkinson Date: Sat, 26 Sep 2009 16:34:48 +0000 (+0100) Subject: Fix signed/unsigned warnings in XDR X-Git-Tag: openafs-devel-1_5_65~37 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=4c1c92c0bdd2b62845187c19a5f5821fe08cf47b;p=packages%2Fo%2Fopenafs.git 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 --- 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);