Date: Wed, 27 May 2009 06:23:36 +0000 (UTC) From: Kip Macy <kmacy@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r192878 - in user/kmacy/releng_7_2_fcs/sys: rpc xdr Message-ID: <200905270623.n4R6NacK085958@svn.freebsd.org>
index | next in thread | raw e-mail
Author: kmacy Date: Wed May 27 06:23:36 2009 New Revision: 192878 URL: http://svn.freebsd.org/changeset/base/192878 Log: be explicit about the use of 32-bit types where appropriate Modified: user/kmacy/releng_7_2_fcs/sys/rpc/xdr.h user/kmacy/releng_7_2_fcs/sys/xdr/xdr.c user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mbuf.c user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mem.c user/kmacy/releng_7_2_fcs/sys/xdr/xdr_sizeof.c Modified: user/kmacy/releng_7_2_fcs/sys/rpc/xdr.h ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/rpc/xdr.h Wed May 27 06:05:20 2009 (r192877) +++ user/kmacy/releng_7_2_fcs/sys/rpc/xdr.h Wed May 27 06:23:36 2009 (r192878) @@ -101,9 +101,9 @@ typedef struct __rpc_xdr { enum xdr_op x_op; /* operation; fast additional param */ const struct xdr_ops { /* get a long from underlying stream */ - bool_t (*x_getlong)(struct __rpc_xdr *, long *); + bool_t (*x_getint32)(struct __rpc_xdr *, int32_t *); /* put a long to " */ - bool_t (*x_putlong)(struct __rpc_xdr *, const long *); + bool_t (*x_putint32)(struct __rpc_xdr *, const int32_t *); /* get some bytes from " */ bool_t (*x_getbytes)(struct __rpc_xdr *, char *, u_int); /* put some bytes to " */ @@ -145,43 +145,43 @@ typedef bool_t (*xdrproc_t)(XDR *, ...); * Operations defined on a XDR handle * * XDR *xdrs; - * long *longp; + * int32_t *int32p; * char * addr; * u_int len; * u_int pos; */ -#define XDR_GETLONG(xdrs, longp) \ - (*(xdrs)->x_ops->x_getlong)(xdrs, longp) -#define xdr_getlong(xdrs, longp) \ - (*(xdrs)->x_ops->x_getlong)(xdrs, longp) - -#define XDR_PUTLONG(xdrs, longp) \ - (*(xdrs)->x_ops->x_putlong)(xdrs, longp) -#define xdr_putlong(xdrs, longp) \ - (*(xdrs)->x_ops->x_putlong)(xdrs, longp) +#define XDR_GETINT32(xdrs, int32p) \ + (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) +#define xdr_getint32(xdrs, int32p) \ + (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) + +#define XDR_PUTINT32(xdrs, int32p) \ + (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) +#define xdr_putint32(xdrs, int32p) \ + (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) static __inline int -xdr_getint32(XDR *xdrs, int32_t *ip) +xdr_getlong(XDR *xdrs, long *lp) { - long l; + int32_t i; - if (!xdr_getlong(xdrs, &l)) + if (!xdr_getint32(xdrs, &i)) return (FALSE); - *ip = (int32_t)l; + *lp = (long) i; return (TRUE); } static __inline int -xdr_putint32(XDR *xdrs, int32_t *ip) +xdr_putlong(XDR *xdrs, long *lp) { - long l; + int32_t i; - l = (long)*ip; - return xdr_putlong(xdrs, &l); + i = (int32_t) *lp; + return xdr_putint32(xdrs, &i); } -#define XDR_GETINT32(xdrs, int32p) xdr_getint32(xdrs, int32p) -#define XDR_PUTINT32(xdrs, int32p) xdr_putint32(xdrs, int32p) +#define XDR_GETLONG(xdrs, longp) xdr_getlong(xdrs, longp) +#define XDR_PUTLONG(xdrs, longp) xdr_putlong(xdrs, longp) #define XDR_GETBYTES(xdrs, addr, len) \ (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) Modified: user/kmacy/releng_7_2_fcs/sys/xdr/xdr.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/xdr/xdr.c Wed May 27 06:05:20 2009 (r192877) +++ user/kmacy/releng_7_2_fcs/sys/xdr/xdr.c Wed May 27 06:23:36 2009 (r192878) @@ -99,19 +99,19 @@ xdr_void(void) bool_t xdr_int(XDR *xdrs, int *ip) { - long l; + int32_t i32; switch (xdrs->x_op) { case XDR_ENCODE: - l = (long) *ip; - return (XDR_PUTLONG(xdrs, &l)); + i32 = (int32_t) *ip; + return (XDR_PUTINT32(xdrs, &i32)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, &i32)) { return (FALSE); } - *ip = (int) l; + *ip = (int) i32; return (TRUE); case XDR_FREE: @@ -127,19 +127,19 @@ xdr_int(XDR *xdrs, int *ip) bool_t xdr_u_int(XDR *xdrs, u_int *up) { - u_long l; + uint32_t u32; switch (xdrs->x_op) { case XDR_ENCODE: - l = (u_long) *up; - return (XDR_PUTLONG(xdrs, (long *)&l)); + u32 = (uint32_t) *up; + return (XDR_PUTINT32(xdrs, (int32_t *)&u32)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, (long *)&l)) { + if (!XDR_GETINT32(xdrs, (int32_t *)&u32)) { return (FALSE); } - *up = (u_int) l; + *up = (u_int) u32; return (TRUE); case XDR_FREE: @@ -194,23 +194,15 @@ xdr_u_long(XDR *xdrs, u_long *ulp) * same as xdr_uint32_t - open coded to save a proc call! */ bool_t -xdr_int32_t(XDR *xdrs, int32_t *int32_p) +xdr_int32_t(XDR *xdrs, int32_t *i32p) { - long l; switch (xdrs->x_op) { case XDR_ENCODE: - l = (long) *int32_p; - return (XDR_PUTLONG(xdrs, &l)); - + return (XDR_PUTINT32(xdrs, i32p)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, &l)) { - return (FALSE); - } - *int32_p = (int32_t) l; - return (TRUE); - + return (XDR_GETINT32(xdrs, i32p)); case XDR_FREE: return (TRUE); } @@ -223,23 +215,14 @@ xdr_int32_t(XDR *xdrs, int32_t *int32_p) * same as xdr_int32_t - open coded to save a proc call! */ bool_t -xdr_uint32_t(XDR *xdrs, uint32_t *uint32_p) +xdr_uint32_t(XDR *xdrs, uint32_t *u32p) { - u_long l; - switch (xdrs->x_op) { case XDR_ENCODE: - l = (u_long) *uint32_p; - return (XDR_PUTLONG(xdrs, (long *)&l)); - + return (XDR_PUTINT32(xdrs, (const int32_t *) u32p)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, (long *)&l)) { - return (FALSE); - } - *uint32_p = (uint32_t) l; - return (TRUE); - + return (XDR_GETINT32(xdrs, (int32_t *) u32p)); case XDR_FREE: return (TRUE); } @@ -254,19 +237,19 @@ xdr_uint32_t(XDR *xdrs, uint32_t *uint32 bool_t xdr_short(XDR *xdrs, short *sp) { - long l; + int32_t i; switch (xdrs->x_op) { case XDR_ENCODE: - l = (long) *sp; - return (XDR_PUTLONG(xdrs, &l)); + i = (int32_t) *sp; + return (XDR_PUTINT32(xdrs, &i)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, &i)) { return (FALSE); } - *sp = (short) l; + *sp = (short) i; return (TRUE); case XDR_FREE: @@ -282,19 +265,19 @@ xdr_short(XDR *xdrs, short *sp) bool_t xdr_u_short(XDR *xdrs, u_short *usp) { - u_long l; + uint32_t u; switch (xdrs->x_op) { case XDR_ENCODE: - l = (u_long) *usp; - return (XDR_PUTLONG(xdrs, (long *)&l)); + u = (uint32_t) *usp; + return (XDR_PUTINT32(xdrs, (const int32_t *)&u)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, (long *)&l)) { + if (!XDR_GETINT32(xdrs, (int32_t *)&u)) { return (FALSE); } - *usp = (u_short) l; + *usp = (u_short) u; return (TRUE); case XDR_FREE: @@ -309,21 +292,21 @@ xdr_u_short(XDR *xdrs, u_short *usp) * XDR 16-bit integers */ bool_t -xdr_int16_t(XDR *xdrs, int16_t *int16_p) +xdr_int16_t(XDR *xdrs, int16_t *i16p) { - long l; + int32_t i; switch (xdrs->x_op) { case XDR_ENCODE: - l = (long) *int16_p; - return (XDR_PUTLONG(xdrs, &l)); + i = (int32_t) *i16p; + return (XDR_PUTINT32(xdrs, &i)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, &l)) { + if (!XDR_GETINT32(xdrs, &i)) { return (FALSE); } - *int16_p = (int16_t) l; + *i16p = (int16_t) i; return (TRUE); case XDR_FREE: @@ -337,21 +320,21 @@ xdr_int16_t(XDR *xdrs, int16_t *int16_p) * XDR unsigned 16-bit integers */ bool_t -xdr_uint16_t(XDR *xdrs, uint16_t *uint16_p) +xdr_uint16_t(XDR *xdrs, uint16_t *u16p) { - u_long l; + uint32_t u; switch (xdrs->x_op) { case XDR_ENCODE: - l = (u_long) *uint16_p; - return (XDR_PUTLONG(xdrs, (long *)&l)); + u = (uint32_t) *u16p; + return (XDR_PUTINT32(xdrs, &u)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, (long *)&l)) { + if (!XDR_GETINT32(xdrs, &u)) { return (FALSE); } - *uint16_p = (uint16_t) l; + *u16p = (uint16_t) u; return (TRUE); case XDR_FREE: @@ -400,19 +383,19 @@ xdr_u_char(XDR *xdrs, u_char *cp) bool_t xdr_bool(XDR *xdrs, bool_t *bp) { - long lb; + int32_t ib; switch (xdrs->x_op) { case XDR_ENCODE: - lb = *bp ? XDR_TRUE : XDR_FALSE; - return (XDR_PUTLONG(xdrs, &lb)); + ib = *bp ? XDR_TRUE : XDR_FALSE; + return (XDR_PUTINT32(xdrs, &ib)); case XDR_DECODE: - if (!XDR_GETLONG(xdrs, &lb)) { + if (!XDR_GETINT32(xdrs, &ib)) { return (FALSE); } - *bp = (lb == XDR_FALSE) ? FALSE : TRUE; + *bp = (ib == XDR_FALSE) ? FALSE : TRUE; return (TRUE); case XDR_FREE: @@ -700,22 +683,22 @@ xdr_wrapstring(XDR *xdrs, char **cpp) bool_t xdr_int64_t(XDR *xdrs, int64_t *llp) { - u_long ul[2]; + uint32_t u32[2]; switch (xdrs->x_op) { case XDR_ENCODE: - ul[0] = (u_long)((uint64_t)*llp >> 32) & 0xffffffff; - ul[1] = (u_long)((uint64_t)*llp) & 0xffffffff; - if (XDR_PUTLONG(xdrs, (long *)&ul[0]) == FALSE) + u32[0] = (uint32_t)((uint64_t)*llp >> 32) & 0xffffffff; + u32[1] = (uint32_t)((uint64_t)*llp) & 0xffffffff; + if (XDR_PUTINT32(xdrs, (int32_t *)&u32[0]) == FALSE) return (FALSE); - return (XDR_PUTLONG(xdrs, (long *)&ul[1])); + return (XDR_PUTINT32(xdrs, (int32_t *)&u32[1])); case XDR_DECODE: - if (XDR_GETLONG(xdrs, (long *)&ul[0]) == FALSE) + if (XDR_GETINT32(xdrs, (int32_t *)&u32[0]) == FALSE) return (FALSE); - if (XDR_GETLONG(xdrs, (long *)&ul[1]) == FALSE) + if (XDR_GETINT32(xdrs, (int32_t *)&u32[1]) == FALSE) return (FALSE); *llp = (int64_t) - (((uint64_t)ul[0] << 32) | ((uint64_t)ul[1])); + (((uint64_t)u32[0] << 32) | ((uint64_t)u32[1])); return (TRUE); case XDR_FREE: return (TRUE); @@ -731,22 +714,22 @@ xdr_int64_t(XDR *xdrs, int64_t *llp) bool_t xdr_uint64_t(XDR *xdrs, uint64_t *ullp) { - u_long ul[2]; + uint32_t u32[2]; switch (xdrs->x_op) { case XDR_ENCODE: - ul[0] = (u_long)(*ullp >> 32) & 0xffffffff; - ul[1] = (u_long)(*ullp) & 0xffffffff; - if (XDR_PUTLONG(xdrs, (long *)&ul[0]) == FALSE) + u32[0] = (uint32_t)(*ullp >> 32) & 0xffffffff; + u32[1] = (uint32_t)(*ullp) & 0xffffffff; + if (XDR_PUTINT32(xdrs, (int32_t *)&u32[0]) == FALSE) return (FALSE); - return (XDR_PUTLONG(xdrs, (long *)&ul[1])); + return (XDR_PUTINT32(xdrs, (int32_t *)&u32[1])); case XDR_DECODE: - if (XDR_GETLONG(xdrs, (long *)&ul[0]) == FALSE) + if (XDR_GETINT32(xdrs, (int32_t *)&u32[0]) == FALSE) return (FALSE); - if (XDR_GETLONG(xdrs, (long *)&ul[1]) == FALSE) + if (XDR_GETINT32(xdrs, (int32_t *)&u32[1]) == FALSE) return (FALSE); *ullp = (uint64_t) - (((uint64_t)ul[0] << 32) | ((uint64_t)ul[1])); + (((uint64_t)u32[0] << 32) | ((uint64_t)u32[1])); return (TRUE); case XDR_FREE: return (TRUE); Modified: user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mbuf.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mbuf.c Wed May 27 06:05:20 2009 (r192877) +++ user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mbuf.c Wed May 27 06:23:36 2009 (r192878) @@ -37,8 +37,8 @@ __FBSDID("$FreeBSD$"); #include <rpc/xdr.h> static void xdrmbuf_destroy(XDR *); -static bool_t xdrmbuf_getlong(XDR *, long *); -static bool_t xdrmbuf_putlong(XDR *, const long *); +static bool_t xdrmbuf_getint32(XDR *, int32_t *); +static bool_t xdrmbuf_putint32(XDR *, const int32_t *); static bool_t xdrmbuf_getbytes(XDR *, char *, u_int); static bool_t xdrmbuf_putbytes(XDR *, const char *, u_int); /* XXX: w/64-bit pointers, u_int not enough! */ @@ -47,8 +47,8 @@ static bool_t xdrmbuf_setpos(XDR *, u_in static int32_t *xdrmbuf_inline(XDR *, u_int); static const struct xdr_ops xdrmbuf_ops = { - xdrmbuf_getlong, - xdrmbuf_putlong, + xdrmbuf_getint32, + xdrmbuf_putint32, xdrmbuf_getbytes, xdrmbuf_putbytes, xdrmbuf_getpos, @@ -90,7 +90,7 @@ xdrmbuf_destroy(XDR *xdrs) } static bool_t -xdrmbuf_getlong(XDR *xdrs, long *lp) +xdrmbuf_getint32(XDR *xdrs, int32_t *lp) { int32_t t; @@ -100,9 +100,7 @@ xdrmbuf_getlong(XDR *xdrs, long *lp) } static bool_t -xdrmbuf_putlong(xdrs, lp) - XDR *xdrs; - const long *lp; +xdrmbuf_putint32(XDR *xdrs, const int32_t *lp) { int32_t t = htonl(*lp); Modified: user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mem.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mem.c Wed May 27 06:05:20 2009 (r192877) +++ user/kmacy/releng_7_2_fcs/sys/xdr/xdr_mem.c Wed May 27 06:23:36 2009 (r192878) @@ -57,10 +57,10 @@ __FBSDID("$FreeBSD$"); #define memmove(dst, src, len) bcopy(src, dst, len) static void xdrmem_destroy(XDR *); -static bool_t xdrmem_getlong_aligned(XDR *, long *); -static bool_t xdrmem_putlong_aligned(XDR *, const long *); -static bool_t xdrmem_getlong_unaligned(XDR *, long *); -static bool_t xdrmem_putlong_unaligned(XDR *, const long *); +static bool_t xdrmem_getint32_aligned(XDR *, int32_t *); +static bool_t xdrmem_putint32_aligned(XDR *, const int32_t *); +static bool_t xdrmem_getint32_unaligned(XDR *, int32_t *); +static bool_t xdrmem_putint32_unaligned(XDR *, const int32_t *); static bool_t xdrmem_getbytes(XDR *, char *, u_int); static bool_t xdrmem_putbytes(XDR *, const char *, u_int); /* XXX: w/64-bit pointers, u_int not enough! */ @@ -70,8 +70,8 @@ static int32_t *xdrmem_inline_aligned(XD static int32_t *xdrmem_inline_unaligned(XDR *, u_int); static const struct xdr_ops xdrmem_ops_aligned = { - xdrmem_getlong_aligned, - xdrmem_putlong_aligned, + xdrmem_getint32_aligned, + xdrmem_putint32_aligned, xdrmem_getbytes, xdrmem_putbytes, xdrmem_getpos, @@ -81,8 +81,8 @@ static const struct xdr_ops xdrmem_ops_a }; static const struct xdr_ops xdrmem_ops_unaligned = { - xdrmem_getlong_unaligned, - xdrmem_putlong_unaligned, + xdrmem_getint32_unaligned, + xdrmem_putint32_unaligned, xdrmem_getbytes, xdrmem_putbytes, xdrmem_getpos, @@ -100,7 +100,7 @@ xdrmem_create(XDR *xdrs, char *addr, u_i { xdrs->x_op = op; - xdrs->x_ops = ((unsigned long)addr & (sizeof(int32_t) - 1)) + xdrs->x_ops = ((uintptr_t)addr & (sizeof(int32_t) - 1)) ? &xdrmem_ops_unaligned : &xdrmem_ops_aligned; xdrs->x_private = xdrs->x_base = addr; xdrs->x_handy = size; @@ -114,7 +114,7 @@ xdrmem_destroy(XDR *xdrs) } static bool_t -xdrmem_getlong_aligned(XDR *xdrs, long *lp) +xdrmem_getint32_aligned(XDR *xdrs, int32_t *lp) { if (xdrs->x_handy < sizeof(int32_t)) @@ -126,7 +126,7 @@ xdrmem_getlong_aligned(XDR *xdrs, long * } static bool_t -xdrmem_putlong_aligned(XDR *xdrs, const long *lp) +xdrmem_putint32_aligned(XDR *xdrs, const int32_t *lp) { if (xdrs->x_handy < sizeof(int32_t)) @@ -138,7 +138,7 @@ xdrmem_putlong_aligned(XDR *xdrs, const } static bool_t -xdrmem_getlong_unaligned(XDR *xdrs, long *lp) +xdrmem_getint32_unaligned(XDR *xdrs, int32_t *lp) { u_int32_t l; @@ -152,7 +152,7 @@ xdrmem_getlong_unaligned(XDR *xdrs, long } static bool_t -xdrmem_putlong_unaligned(XDR *xdrs, const long *lp) +xdrmem_putint32_unaligned(XDR *xdrs, const int32_t *lp) { u_int32_t l; Modified: user/kmacy/releng_7_2_fcs/sys/xdr/xdr_sizeof.c ============================================================================== --- user/kmacy/releng_7_2_fcs/sys/xdr/xdr_sizeof.c Wed May 27 06:05:20 2009 (r192877) +++ user/kmacy/releng_7_2_fcs/sys/xdr/xdr_sizeof.c Wed May 27 06:23:36 2009 (r192878) @@ -47,7 +47,7 @@ __FBSDID("$FreeBSD$"); /* ARGSUSED */ static bool_t -x_putlong(XDR *xdrs, const long *longp) +x_putint32(XDR *xdrs, const int32_t *longp) { xdrs->x_handy += BYTES_PER_XDR_UNIT; @@ -135,10 +135,10 @@ xdr_sizeof(xdrproc_t func, void *data) struct xdr_ops ops; bool_t stat; /* to stop ANSI-C compiler from complaining */ - typedef bool_t (* dummyfunc1)(XDR *, long *); + typedef bool_t (* dummyfunc1)(XDR *, int32_t *); typedef bool_t (* dummyfunc2)(XDR *, caddr_t, u_int); - ops.x_putlong = x_putlong; + ops.x_putint32 = x_putint32; ops.x_putbytes = x_putbytes; ops.x_inline = x_inline; ops.x_getpostn = x_getpostn; @@ -146,7 +146,7 @@ xdr_sizeof(xdrproc_t func, void *data) ops.x_destroy = x_destroy; /* the other harmless ones */ - ops.x_getlong = (dummyfunc1) harmless; + ops.x_getint32 = (dummyfunc1) harmless; ops.x_getbytes = (dummyfunc2) harmless; x.x_op = XDR_ENCODE;help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905270623.n4R6NacK085958>
