]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Fix signed/unsigned warnings in XDR
authorSimon Wilkinson <sxw@inf.ed.ac.uk>
Sat, 26 Sep 2009 16:34:48 +0000 (17:34 +0100)
committerDerrick Brashear <shadow|account-1000005@unknown>
Mon, 28 Sep 2009 08:35:51 +0000 (01:35 -0700)
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 <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/rx/xdr.c
src/rx/xdr_int64.c

index de005d4ed5a12caa25f0691add67e72da83ed41b..ad8897e226ab0c8324066463af59de825814a9ce 100644 (file)
@@ -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;
index e3e790a576abbd6582104a4c57dca2d164520086..fcca3c6ce6fe69fa17fdc36bc23b812e5b021828 100644 (file)
@@ -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);