if (parse_res == -1)
if (parse_res < 1)
_nss_nisplus_getservbynumber_r (const int number, const char *protocol,				struct servent *serv,				char *buffer, size_t buflen, int *errnop){  if (tablename_val == NULL)    {      enum nss_status status = _nss_create_tablename (errnop);      if (status != NSS_STATUS_SUCCESS)	return status;    }  if (protocol == NULL)    {      *errnop = EINVAL;      return NSS_STATUS_NOTFOUND;    }  else    {      int parse_res;      nis_result *result;      char buf[60 + strlen (protocol) + tablename_len];      sprintf (buf, "[number=%d,proto=%s],%s",	       number, protocol, tablename_val);      result = nis_list (buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL);      if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)	{	  enum nss_status status = niserr2nss (result->status);	  nis_freeresult (result);	  return status;	}      parse_res = _nss_nisplus_parse_servent (result, serv, buffer, buflen,					      errnop);      nis_freeresult (result);      if (parse_res == -1)	{	  *errnop = ERANGE;	  return NSS_STATUS_TRYAGAIN;	}      if (parse_res)	return NSS_STATUS_SUCCESS;      return NSS_STATUS_NOTFOUND;    }}