diff --git a/ChangeLog b/ChangeLog index 0ccb10a65b..e2ef5ec28c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-12-14 Ulrich Drepper + + * sunrpc/rpc/xdr.h (IXDR_GET_INT32): Case pointer before reading from + it. + (IXDR_PUT_INT32): Likewise for writing. + 1998-12-08 H.J. Lu * sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Don't clear diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h index cd28717221..192a9a8712 100644 --- a/sunrpc/rpc/xdr.h +++ b/sunrpc/rpc/xdr.h @@ -249,8 +249,9 @@ struct xdr_discrim * of external representation. */ -#define IXDR_GET_INT32(buf) ((int32_t)ntohl((uint32_t)*(buf)++)) -#define IXDR_PUT_INT32(buf, v) (*(buf)++ = (int32_t)htonl((uint32_t)v)) +#define IXDR_GET_INT32(buf) ((int32_t)ntohl(*((uint32_t *) buf)++)) +#define IXDR_PUT_INT32(buf, v) (*((int32_t *) buf)++ \ + = (int32_t)htonl((uint32_t)v)) #define IXDR_GET_U_INT32(buf) ((uint32_t)IXDR_GET_INT32(buf)) #define IXDR_PUT_U_INT32(buf, v) IXDR_PUT_INT32((buf), ((int32_t)(v)))