aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libc/xdr/xdr.c8
-rw-r--r--sys/xdr/xdr.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/libc/xdr/xdr.c b/lib/libc/xdr/xdr.c
index fcf4e9029074..48b4cdbecd02 100644
--- a/lib/libc/xdr/xdr.c
+++ b/lib/libc/xdr/xdr.c
@@ -429,13 +429,13 @@ xdr_uint16_t(XDR *xdrs, uint16_t *u_int16_p)
bool_t
xdr_char(XDR *xdrs, char *cp)
{
- int i;
+ u_int i;
- i = (*cp);
- if (!xdr_int(xdrs, &i)) {
+ i = *((unsigned char *)cp);
+ if (!xdr_u_int(xdrs, &i)) {
return (FALSE);
}
- *cp = i;
+ *((unsigned char *)cp) = i;
return (TRUE);
}
diff --git a/sys/xdr/xdr.c b/sys/xdr/xdr.c
index 0a0bf3f66744..b57eb7d66ef4 100644
--- a/sys/xdr/xdr.c
+++ b/sys/xdr/xdr.c
@@ -358,13 +358,13 @@ xdr_uint16_t(XDR *xdrs, uint16_t *uint16_p)
bool_t
xdr_char(XDR *xdrs, char *cp)
{
- int i;
+ u_int i;
- i = (*cp);
- if (!xdr_int(xdrs, &i)) {
+ i = *((unsigned char *)cp);
+ if (!xdr_u_int(xdrs, &i)) {
return (FALSE);
}
- *cp = i;
+ *((unsigned char *)cp) = i;
return (TRUE);
}