|| (connect (*sockp, (struct sockaddr *) raddr, sizeof (*raddr)) < 0))
|| (__connect (*sockp, (struct sockaddr *) raddr, sizeof (*raddr)) < 0))
clnttcp_create (struct sockaddr_in *raddr, u_long prog, u_long vers,		int *sockp, u_int sendsz, u_int recvsz){  CLIENT *h;  struct ct_data *ct = (struct ct_data *) mem_alloc (sizeof (*ct));  struct timeval now;  struct rpc_msg call_msg;  h = (CLIENT *) mem_alloc (sizeof (*h));  if (h == NULL)    {      (void) fprintf (stderr, _("clnttcp_create: out of memory\n"));      rpc_createerr.cf_stat = RPC_SYSTEMERROR;      rpc_createerr.cf_error.re_errno = errno;      goto fooy;    }  /*  ct = (struct ct_data *) mem_alloc (sizeof (*ct)); */  if (ct == NULL)    {      (void) fprintf (stderr, _("clnttcp_create: out of memory\n"));      rpc_createerr.cf_stat = RPC_SYSTEMERROR;      rpc_createerr.cf_error.re_errno = errno;      goto fooy;    }  /*   * If no port number given ask the pmap for one   */  if (raddr->sin_port == 0)    {      u_short port;      if ((port = pmap_getport (raddr, prog, vers, IPPROTO_TCP)) == 0)	{	  mem_free ((caddr_t) ct, sizeof (struct ct_data));	  mem_free ((caddr_t) h, sizeof (CLIENT));	  return ((CLIENT *) NULL);	}      raddr->sin_port = htons (port);    }  /*   * If no socket given, open one   */  if (*sockp < 0)    {      *sockp = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);      (void) bindresvport (*sockp, (struct sockaddr_in *) 0);      if ((*sockp < 0)	  || (connect (*sockp, (struct sockaddr *) raddr,		       sizeof (*raddr)) < 0))	{	  rpc_createerr.cf_stat = RPC_SYSTEMERROR;	  rpc_createerr.cf_error.re_errno = errno;	  if (*sockp >= 0)	    (void) close (*sockp);	  goto fooy;	}      ct->ct_closeit = TRUE;    }  else    {      ct->ct_closeit = FALSE;    }  /*   * Set up private data struct   */  ct->ct_sock = *sockp;  ct->ct_wait.tv_usec = 0;  ct->ct_waitset = FALSE;  ct->ct_addr = *raddr;  /*   * Initialize call message   */  (void) gettimeofday (&now, (struct timezone *) 0);  call_msg.rm_xid = getpid () ^ now.tv_sec ^ now.tv_usec;  call_msg.rm_direction = CALL;  call_msg.rm_call.cb_rpcvers = RPC_MSG_VERSION;  call_msg.rm_call.cb_prog = prog;  call_msg.rm_call.cb_vers = vers;  /*   * pre-serialize the static part of the call msg and stash it away   */  xdrmem_create (&(ct->ct_xdrs), ct->ct_mcall, MCALL_MSG_SIZE,		 XDR_ENCODE);  if (!xdr_callhdr (&(ct->ct_xdrs), &call_msg))    {      if (ct->ct_closeit)	{	  (void) close (*sockp);	}      goto fooy;    }  ct->ct_mpos = XDR_GETPOS (&(ct->ct_xdrs));  XDR_DESTROY (&(ct->ct_xdrs));  /*   * Create a client handle which uses xdrrec for serialization   * and authnone for authentication.   */  xdrrec_create (&(ct->ct_xdrs), sendsz, recvsz,		 (caddr_t) ct, readtcp, writetcp);  h->cl_ops = &tcp_ops;  h->cl_private = (caddr_t) ct;  h->cl_auth = authnone_create ();  return h;fooy:  /*   * Something goofed, free stuff and barf   */  mem_free ((caddr_t) ct, sizeof (struct ct_data));  mem_free ((caddr_t) h, sizeof (CLIENT));  return ((CLIENT *) NULL);}