if (parse_res == -1) return NSS_STATUS_TRYAGAIN;  if (parse_res) return NSS_STATUS_SUCCESS; else return NSS_STATUS_NOTFOUND;
if (parse_res < 1) { if (parse_res == -1) return NSS_STATUS_TRYAGAIN; else return NSS_STATUS_NOTFOUND; } return NSS_STATUS_SUCCESS;
_nss_nis_getgrgid_r (gid_t gid, struct group *grp,		     char *buffer, size_t buflen, int *errnop){  struct parser_data *data = (void *) buffer;  enum nss_status retval;  char *domain, *result, *p;  int len, nlen, parse_res;  char buf[32];  if (yp_get_default_domain (&domain))    return NSS_STATUS_UNAVAIL;  nlen = sprintf (buf, "%d", gid);  retval = yperr2nss (yp_match (domain, "group.bygid", buf,				nlen, &result, &len));  if (retval != NSS_STATUS_SUCCESS)    {      if (retval == NSS_STATUS_TRYAGAIN)        *errnop = errno;      return retval;    }  if ((size_t) (len + 1) > buflen)    {      free (result);      *errnop = ERANGE;      return NSS_STATUS_TRYAGAIN;    }  p = strncpy (buffer, result, len);  buffer[len] = '\0';  while (isspace (*p))    ++p;  free (result);  parse_res = _nss_files_parse_grent (p, grp, data, buflen, errnop);  if (parse_res == -1)    return NSS_STATUS_TRYAGAIN;  if (parse_res)    return NSS_STATUS_SUCCESS;  else    return NSS_STATUS_NOTFOUND;}