nis_freeresult (res);
getpwnam_plususer (const char *name, struct passwd *result, char *buffer,		   size_t buflen, int *errnop){  struct parser_data *data = (void *) buffer;  struct passwd pwd;  int parse_res;  char *p;  size_t plen;  memset (&pwd, '\0', sizeof (struct passwd));  copy_pwd_changes (&pwd, result, NULL, 0);  plen = pwd_need_buflen (&pwd);  if (plen > buflen)    {      *errnop = 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 (name) + 24 + pwdtablelen];      sprintf(buf, "[name=%s],%s", name, pwdtable);      res = nis_list(buf, FOLLOW_PATH | FOLLOW_LINKS, 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_pwent (res, result, buffer,					    buflen, errnop);      if (parse_res == -1)	{	  nis_freeresult (res);	  *errnop = ERANGE;	  return NSS_STATUS_TRYAGAIN;	}      nis_freeresult (res);    }  else /* Use NIS */    {      char *domain, *outval, *ptr;      int outvallen;      if (yp_get_default_domain (&domain) != YPERR_SUCCESS)	return NSS_STATUS_NOTFOUND;      if (yp_match (domain, "passwd.byname", name, strlen (name),		    &outval, &outvallen) != YPERR_SUCCESS)	{	  *errnop = ENOENT;	  return NSS_STATUS_NOTFOUND;	}      if (insert_passwd_adjunct (&outval, &outvallen, domain, errnop)	  != NSS_STATUS_SUCCESS)	{	  free (outval);	  return NSS_STATUS_TRYAGAIN;	}      if (buflen < ((size_t) outvallen + 1))	{	  free (outval);	  *errnop = ERANGE;	  return NSS_STATUS_TRYAGAIN;	}      ptr = strncpy (buffer, outval, buflen);      free (outval);      while (isspace (*ptr))	ptr++;      parse_res = _nss_files_parse_pwent (ptr, result, data, buflen, errnop);      if (parse_res == -1)	return NSS_STATUS_TRYAGAIN;    }  if (parse_res > 0)    {      copy_pwd_changes (result, &pwd, p, plen);      give_pwd_free (&pwd);      /* We found the entry.  */      return NSS_STATUS_SUCCESS;    }  else    {      /* Give buffer the old len back */      buflen += plen;      give_pwd_free (&pwd);    }  return NSS_STATUS_RETURN;}