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:
pfg 2012-10-03 20:39:11 +00:00
parent cecfb309c7
commit fc02898d2b

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);