p = strcpy (buffer, next->val);
p = strncpy (buffer, next->val, buflen);
internal_nis_getprotoent_r (struct protoent *proto,			    char *buffer, size_t buflen, int *errnop){  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);      while (isspace (*p))        ++p;      parse_res = _nss_files_parse_protoent (p, proto, data, buflen, errnop);      if (parse_res == -1)        return NSS_STATUS_TRYAGAIN;      next = next->next;    }  while (!parse_res);  return NSS_STATUS_SUCCESS;}