parse_res = _nss_files_parse_netent (p, net, data, buflen); if (!parse_res && errno == ERANGE)
if ((parse_res = _nss_files_parse_netent (p, net, data, buflen)) == -1)
internal_nis_getnetent_r (struct netent *net, char *buffer, size_t buflen,			  int *herrnop){  struct parser_data *data = (void *) buffer;  char *domain, *result, *outkey;  int len, keylen, parse_res;  if (yp_get_default_domain (&domain))    return NSS_STATUS_UNAVAIL;  /* Get the next entry until we found a correct one. */  do    {      enum nss_status retval;      char *p;      if (new_start)        retval = yperr2nss (yp_first (domain, "networks.byname",                                      &outkey, &keylen, &result, &len));      else        retval = yperr2nss ( yp_next (domain, "networks.byname",                                      oldkey, oldkeylen,                                      &outkey, &keylen, &result, &len));      if (retval != NSS_STATUS_SUCCESS)        {          if (retval == NSS_STATUS_TRYAGAIN)	    {	      *herrnop = NETDB_INTERNAL;	      __set_errno (EAGAIN);	    }          return retval;        }      if ((size_t) (len + 1) > buflen)        {          free (result);          __set_errno (ERANGE);	  *herrnop = NETDB_INTERNAL;          return NSS_STATUS_TRYAGAIN;        }      p = strncpy (buffer, result, len);      buffer[len] = '\0';      while (isspace (*p))        ++p;      free (result);      parse_res = _nss_files_parse_netent (p, net, data, buflen);      if (!parse_res && errno == ERANGE)	{	  *herrnop = NETDB_INTERNAL;	  return NSS_STATUS_TRYAGAIN;	}      free (oldkey);      oldkey = outkey;      oldkeylen = keylen;      new_start = 0;    }  while (!parse_res);  return NSS_STATUS_SUCCESS;}