len = sprintf (str, "; errno = %s", strerror_r (e.re_errno, buf, sizeof buf));
len = sprintf (str, "; errno = %s", __strerror_r (e.re_errno, buf, sizeof buf));
clnt_sperror (CLIENT * rpch, const char *msg){  char buf[1024];  struct rpc_err e;  char *err;  char *str = _buf ();  char *strstart = str;  int len;  if (str == NULL)    return NULL;  CLNT_GETERR (rpch, &e);  len = sprintf (str, "%s: ", msg);  str += len;  str = stpcpy (str, clnt_sperrno (e.re_status));  switch (e.re_status)    {    case RPC_SUCCESS:    case RPC_CANTENCODEARGS:    case RPC_CANTDECODERES:    case RPC_TIMEDOUT:    case RPC_PROGUNAVAIL:    case RPC_PROCUNAVAIL:    case RPC_CANTDECODEARGS:    case RPC_SYSTEMERROR:    case RPC_UNKNOWNHOST:    case RPC_UNKNOWNPROTO:    case RPC_PMAPFAILURE:    case RPC_PROGNOTREGISTERED:    case RPC_FAILED:      break;    case RPC_CANTSEND:    case RPC_CANTRECV:      len = sprintf (str, "; errno = %s", strerror_r (e.re_errno,						      buf, sizeof buf));      str += len;      break;    case RPC_VERSMISMATCH:      len= sprintf (str, _("; low version = %lu, high version = %lu"),		    e.re_vers.low, e.re_vers.high);      str += len;      break;    case RPC_AUTHERROR:      err = auth_errmsg (e.re_why);      str = stpcpy (str, _ ("; why = "));      if (err != NULL)	{	  str = stpcpy (str, err);	}      else	{	  len = sprintf (str, _("(unknown authentication error - %d)"),			 (int) e.re_why);	  str += len;	}      break;    case RPC_PROGVERSMISMATCH:      len = sprintf (str, _("; low version = %lu, high version = %lu"),		     e.re_vers.low, e.re_vers.high);      str += len;      break;    default:			/* unknown */      len = sprintf (str, "; s1 = %lu, s2 = %lu", e.re_lb.s1, e.re_lb.s2);      str += len;      break;    }  *str = '\n';  *++str = '\0';  return (strstart);}