parse_res = _nss_nisplus_parse_spent (res, result, buffer, buflen);
if ((parse_res = _nss_nisplus_parse_spent (res, result, buffer, buflen)) == -1) { nis_freeresult (res); return NSS_STATUS_TRYAGAIN; }
getspent_next_file_plususer (struct spwd *result, char *buffer,                             size_t buflen){  struct parser_data *data = (void *) buffer;  struct spwd pwd;  int parse_res;  char *p;  size_t plen;  memset (&pwd, '\0', sizeof (struct spwd));  copy_spwd_changes (&pwd, result, NULL, 0);  plen = spwd_need_buflen (&pwd);  if (plen > buflen)    {      __set_errno (ERANGE);      return NSS_STATUS_TRYAGAIN;    }  p = buffer + (buflen - plen);  buflen -= plen;  if (use_nisplus) /* Do the NIS+ query here */    {      nis_result *res;      char buf[strlen (result->sp_namp) + 24 + pwdtablelen];      sprintf(buf, "[name=%s],%s", &result->sp_namp[1], pwdtable);      res = nis_list(buf, 0, NULL, NULL);      if (niserr2nss (res->status) != NSS_STATUS_SUCCESS)        {          enum nss_status status =  niserr2nss (res->status);          nis_freeresult (res);          return status;        }      parse_res = _nss_nisplus_parse_spent (res, result, buffer, buflen);      nis_freeresult (res);    }  else /* Use NIS */    {      char *domain;      char *outval;      int outvallen;      if (yp_get_default_domain (&domain) != YPERR_SUCCESS)        return NSS_STATUS_TRYAGAIN;      if (yp_match (domain, "passwd.byname", &result->sp_namp[1],                    strlen (result->sp_namp) - 1, &outval, &outvallen)          != YPERR_SUCCESS)        return NSS_STATUS_TRYAGAIN;      p = strncpy (buffer, outval,                   buflen < (size_t) outvallen ? buflen : (size_t) outvallen);      free (outval);      while (isspace (*p))        p++;      parse_res = _nss_files_parse_spent (p, result, data, buflen);    }  if (parse_res)    {      copy_spwd_changes (result, &pwd, p, plen);      give_spwd_free (&pwd);      /* We found the entry.  */      return NSS_STATUS_SUCCESS;    }  else    {      /* Give buffer the old len back */      buflen += plen;      give_spwd_free (&pwd);    }  return NSS_STATUS_RETURN;}