if (result != NSS_STATUS_SUCCESS) return result;  result = internal_getspnam_r (name, pwd, &ent, buffer, buflen, errnop);
if (result == NSS_STATUS_SUCCESS) result = internal_getspnam_r (name, pwd, &ent, buffer, buflen, errnop);
_nss_compat_getspnam_r (const char *name, struct spwd *pwd,			char *buffer, size_t buflen, int *errnop){  enum nss_status result;  ent_t ent = {0, TRUE, 0, NULL, {NULL, 0, 0},	       {NULL, NULL, 0, 0, 0, 0, 0, 0, 0}};  if (name[0] == '-' || name[0] == '+')    return NSS_STATUS_NOTFOUND;  __libc_lock_lock (lock);  if (ni == NULL)    init_nss_interface ();  __libc_lock_unlock (lock);  result = internal_setspent (&ent, 0);  if (result != NSS_STATUS_SUCCESS)    return result;  result = internal_getspnam_r (name, pwd, &ent, buffer, buflen, errnop);  internal_endspent (&ent);  return result;}