1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
1998-07-07 16:28  Ulrich Drepper  <drepper@cygnus.com>

	* grp/initgroups.c: Handle directives from nsswitch.conf file.
This commit is contained in:
Ulrich Drepper
1998-07-07 16:30:46 +00:00
parent 0302fece01
commit 6333c255ba
2 changed files with 18 additions and 2 deletions

View File

@ -1,3 +1,7 @@
1998-07-07 16:28 Ulrich Drepper <drepper@cygnus.com>
* grp/initgroups.c: Handle directives from nsswitch.conf file.
1998-07-07 Ulrich Drepper <drepper@cygnus.com> 1998-07-07 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Add * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Add

View File

@ -182,12 +182,24 @@ initgroups (user, group)
fct = __nss_lookup_function (nip, "initgroups"); fct = __nss_lookup_function (nip, "initgroups");
if (fct == NULL) if (fct == NULL)
status = compat_call (nip, user, group, &start, &size, groups, {
limit, &errno); status = compat_call (nip, user, group, &start, &size, groups,
limit, &errno);
if (nss_next_action (nip, NSS_STATUS_UNAVAIL) != NSS_ACTION_CONTINUE)
break;
}
else else
status = _CALL_DL_FCT (fct, (user, group, &start, &size, groups, limit, status = _CALL_DL_FCT (fct, (user, group, &start, &size, groups, limit,
&errno)); &errno));
/* This is really only for debugging. */
if (NSS_STATUS_TRYAGAIN > status || status > NSS_STATUS_RETURN)
__libc_fatal ("illegal status in " __FUNCTION__);
if (nss_next_action (nip, status) == NSS_ACTION_RETURN)
break;
if (nip->next == NULL) if (nip->next == NULL)
no_more = -1; no_more = -1;
else else