aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sunrpc/rpc/xdr.h5
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0ccb10a..e2ef5ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1998-12-14 Ulrich Drepper <drepper@cygnus.com>
+
+ * 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 <hjl@gnu.org>
* sysdeps/unix/sysv/linux/speed.c (cfsetospeed): Don't clear
diff --git a/sunrpc/rpc/xdr.h b/sunrpc/rpc/xdr.h
index cd28717..192a9a8 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)))