diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | nis/nss_compat/compat-grp.c | 15 |
2 files changed, 15 insertions, 7 deletions
@@ -1,3 +1,8 @@ +1999-09-18 Ulrich Drepper <drepper@cygnus.com> + + * nis/nss_compat/compat-grp.c (getgrgid_plusgroup): Correct + returned errno value in some cases. + 1999-09-17 Andreas Jaeger <aj@suse.de> * sysdeps/i386/Makefile (CFLAGS-initfini.s): Add also -mcpu=i386 @@ -24,7 +29,7 @@ * sysdeps/unix/sysv/linux/arm/sys/user.h: Added members 'unsigned char ftype[8]', and 'unsigned int init_flag' to - struct user_fp. Tnese were added in version 2.2.12 of the + struct user_fp. These were added in version 2.2.12 of the ARM Linux kernel. * sysdeps/unix/sysv/linux/arm/sys/elf.h: New file. * sysdeps/unix/sysv/linux/arm/sys/procfs.h: New file. diff --git a/nis/nss_compat/compat-grp.c b/nis/nss_compat/compat-grp.c index 3ef2039..ac56f6f 100644 --- a/nis/nss_compat/compat-grp.c +++ b/nis/nss_compat/compat-grp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. @@ -438,7 +438,10 @@ getgrnam_plusgroup (const char *name, struct group *result, char *buffer, int outvallen; if (yp_get_default_domain (&domain) != YPERR_SUCCESS) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (yp_match (domain, "group.byname", name, strlen (name), &outval, &outvallen) != YPERR_SUCCESS) @@ -784,8 +787,8 @@ getgrgid_plusgroup (gid_t gid, struct group *result, char *buffer, if (yp_get_default_domain (&domain) != YPERR_SUCCESS) { - *errnop = errno; - return NSS_STATUS_TRYAGAIN; + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; } snprintf (buf, sizeof (buf), "%d", gid); @@ -793,8 +796,8 @@ getgrgid_plusgroup (gid_t gid, struct group *result, char *buffer, if (yp_match (domain, "group.bygid", buf, strlen (buf), &outval, &outvallen) != YPERR_SUCCESS) { - *errnop = errno; - return NSS_STATUS_TRYAGAIN; + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; } if (buflen < ((size_t) outvallen + 1)) |