aup.aup_gids = (int *)NULL;
aup.aup_gids = (gid_t *)NULL;
authunix_refresh(auth)	register AUTH *auth;{	register struct audata *au = AUTH_PRIVATE(auth);	struct authunix_parms aup;	struct timeval now;	XDR xdrs;	register int stat;	if (auth->ah_cred.oa_base == au->au_origcred.oa_base) {		/* there is no hope.  Punt */		return (FALSE);	}	au->au_shfaults ++;	/* first deserialize the creds back into a struct authunix_parms */	aup.aup_machname = NULL;	aup.aup_gids = (int *)NULL;	xdrmem_create(&xdrs, au->au_origcred.oa_base,	    au->au_origcred.oa_length, XDR_DECODE);	stat = xdr_authunix_parms(&xdrs, &aup);	if (! stat)		goto done;	/* update the time and serialize in place */	(void)gettimeofday(&now, (struct timezone *)0);	aup.aup_time = now.tv_sec;	xdrs.x_op = XDR_ENCODE;	XDR_SETPOS(&xdrs, 0);	stat = xdr_authunix_parms(&xdrs, &aup);	if (! stat)		goto done;	auth->ah_cred = au->au_origcred;	marshal_new_auth(auth);done:	/* free the struct authunix_parms created by deserializing */	xdrs.x_op = XDR_FREE;	(void)xdr_authunix_parms(&xdrs, &aup);	XDR_DESTROY(&xdrs);	return (stat);}