__set_errno (EINVAL);
*errnop = EINVAL;
_nss_nis_getservbyname_r (const char *name, char *protocol,			  struct servent *serv, char *buffer, size_t buflen,			  int *errnop){  intern_t data = { NULL, NULL };  enum nss_status status;  int found;  if (name == NULL)    {      __set_errno (EINVAL);      return NSS_STATUS_UNAVAIL;    }  status = internal_nis_setservent (&data);  if (status != NSS_STATUS_SUCCESS)    return status;  found = 0;  while (!found &&         ((status = internal_nis_getservent_r (serv, buffer, buflen, errnop,					       &data)) == NSS_STATUS_SUCCESS))    {      if (protocol == NULL || strcmp (serv->s_proto, protocol) == 0)	{	  char **cp;	  if (strcmp (serv->s_name, name) == 0)	    found = 1;	  else	    for (cp = serv->s_aliases; *cp; cp++)	      if (strcmp (name, *cp) == 0)		found = 1;	}    }  internal_nis_endservent (&data);  if (!found && status == NSS_STATUS_SUCCESS)    return NSS_STATUS_NOTFOUND;  else    return status;}