next = next->next;
internal_nis_getprotoent_r (struct protoent *proto,			    char *buffer, size_t buflen){  struct parser_data *data = (void *) buffer;  int parse_res;  if (start == NULL)    internal_nis_setprotoent ();  /* Get the next entry until we found a correct one. */  do    {      char *p;      if (next == NULL)        return NSS_STATUS_NOTFOUND;      p = strcpy (buffer, next->val);      next = next->next;      while (isspace (*p))        ++p;      parse_res = _nss_files_parse_protoent (p, proto, data, buflen);      if (!parse_res && errno == ERANGE)        return NSS_STATUS_TRYAGAIN;    }  while (!parse_res);  return NSS_STATUS_SUCCESS;}