remove-int64-conversion-warnings-20031207
authorJeffrey Altman <jaltman@grand.central.org>
Mon, 8 Dec 2003 03:14:08 +0000 (03:14 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 8 Dec 2003 03:14:08 +0000 (03:14 +0000)
Use casting to avoid repeated conversion warnings resulting in data loss.

src/rx/xdr_int64.c

index f1a1d3f..7ee0072 100644 (file)
@@ -53,8 +53,8 @@ xdr_afs_int64(register XDR * xdrs, afs_int64 * ulp)
        return (TRUE);
     }
     if (xdrs->x_op == XDR_ENCODE) {
-       high = (*ulp >> 32);
-       low = *ulp & 0xFFFFFFFFL;
+       high = (afs_int32)(*ulp >> 32);
+       low = (afs_uint32)(*ulp & 0xFFFFFFFFL);
        if (!XDR_PUTINT32(xdrs, (afs_int32 *) & high))
            return (FALSE);
        return (XDR_PUTINT32(xdrs, (afs_int32 *) & low));
@@ -90,8 +90,8 @@ xdr_afs_uint64(register XDR * xdrs, afs_uint64 * ulp)
        return (TRUE);
     }
     if (xdrs->x_op == XDR_ENCODE) {
-       high = (*ulp >> 32);
-       low = *ulp & 0xFFFFFFFFL;
+       high = (afs_uint32)(*ulp >> 32);
+       low = (afs_uint32)(*ulp & 0xFFFFFFFFL);
        if (!XDR_PUTINT32(xdrs, (afs_uint32 *) & high))
            return (FALSE);
        return (XDR_PUTINT32(xdrs, (afs_uint32 *) & low));