if (reply_msg.rm_xid == x_id)
if ((u_int32_t) reply_msg.rm_xid == x_id)
clnttcp_call (h, proc, xdr_args, args_ptr, xdr_results, results_ptr, timeout)     CLIENT *h;     u_long proc;     xdrproc_t xdr_args;     caddr_t args_ptr;     xdrproc_t xdr_results;     caddr_t results_ptr;     struct timeval timeout;{  struct ct_data *ct = (struct ct_data *) h->cl_private;  XDR *xdrs = &(ct->ct_xdrs);  struct rpc_msg reply_msg;  u_long x_id;  u_int32_t *msg_x_id = (u_int32_t *) (ct->ct_mcall);	/* yuk */  bool_t shipnow;  int refreshes = 2;  if (!ct->ct_waitset)    {      ct->ct_wait = timeout;    }  shipnow =    (xdr_results == (xdrproc_t) 0 && timeout.tv_sec == 0     && timeout.tv_usec == 0) ? FALSE : TRUE;call_again:  xdrs->x_op = XDR_ENCODE;  ct->ct_error.re_status = RPC_SUCCESS;  x_id = ntohl (--(*msg_x_id));  if ((!XDR_PUTBYTES (xdrs, ct->ct_mcall, ct->ct_mpos)) ||      (!XDR_PUTLONG (xdrs, (long *) &proc)) ||      (!AUTH_MARSHALL (h->cl_auth, xdrs)) ||      (!(*xdr_args) (xdrs, args_ptr)))    {      if (ct->ct_error.re_status == RPC_SUCCESS)	ct->ct_error.re_status = RPC_CANTENCODEARGS;      (void) xdrrec_endofrecord (xdrs, TRUE);      return (ct->ct_error.re_status);    }  if (!xdrrec_endofrecord (xdrs, shipnow))    return ct->ct_error.re_status = RPC_CANTSEND;  if (!shipnow)    return RPC_SUCCESS;  /*   * Hack to provide rpc-based message passing   */  if (timeout.tv_sec == 0 && timeout.tv_usec == 0)    {      return ct->ct_error.re_status = RPC_TIMEDOUT;    }  /*   * Keep receiving until we get a valid transaction id   */  xdrs->x_op = XDR_DECODE;  while (TRUE)    {      reply_msg.acpted_rply.ar_verf = _null_auth;      reply_msg.acpted_rply.ar_results.where = NULL;      reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;      if (!xdrrec_skiprecord (xdrs))	return (ct->ct_error.re_status);      /* now decode and validate the response header */      if (!xdr_replymsg (xdrs, &reply_msg))	{	  if (ct->ct_error.re_status == RPC_SUCCESS)	    continue;	  return ct->ct_error.re_status;	}      if (reply_msg.rm_xid == x_id)	break;    }  /*   * process header   */  _seterr_reply (&reply_msg, &(ct->ct_error));  if (ct->ct_error.re_status == RPC_SUCCESS)    {      if (!AUTH_VALIDATE (h->cl_auth, &reply_msg.acpted_rply.ar_verf))	{	  ct->ct_error.re_status = RPC_AUTHERROR;	  ct->ct_error.re_why = AUTH_INVALIDRESP;	}      else if (!(*xdr_results) (xdrs, results_ptr))	{	  if (ct->ct_error.re_status == RPC_SUCCESS)	    ct->ct_error.re_status = RPC_CANTDECODERES;	}      /* free verifier ... */      if (reply_msg.acpted_rply.ar_verf.oa_base != NULL)	{	  xdrs->x_op = XDR_FREE;	  (void) xdr_opaque_auth (xdrs, &(reply_msg.acpted_rply.ar_verf));	}    }				/* end successful completion */  else    {      /* maybe our credentials need to be refreshed ... */      if (refreshes-- && AUTH_REFRESH (h->cl_auth))	goto call_again;    }				/* end of unsuccessful completion */  return ct->ct_error.re_status;}