rpc: convert all uid and gid variables of the type uid_t and gid_t.

The previous change (based on Solaris) doesn't work properly either
as the casting only has the effect of quieting the compiler.

Move back to the previous solution but adjust the sizeof()
type in xdr_array(). This should mostly work (by accident).

Reported by:	bde
This commit is contained in:
Pedro F. Giffuni 2012-10-03 20:39:11 +00:00
parent 45ac30d5f8
commit ff12c59d9c

View file

@ -69,10 +69,10 @@ xdr_authunix_parms(xdrs, p)
if (xdr_u_long(xdrs, &(p->aup_time)) &&
xdr_string(xdrs, &(p->aup_machname), MAX_MACHINE_NAME) &&
xdr_int(xdrs, (int *) &(p->aup_uid)) &&
xdr_int(xdrs, (int *) &(p->aup_gid)) &&
xdr_u_int(xdrs, &(p->aup_uid)) &&
xdr_u_int(xdrs, &(p->aup_gid)) &&
xdr_array(xdrs, (char **) paup_gids,
&(p->aup_len), NGRPS, sizeof(int), (xdrproc_t)xdr_int) ) {
&(p->aup_len), NGRPS, sizeof(gid_t), (xdrproc_t)xdr_int) ) {
return (TRUE);
}
return (FALSE);