aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--nis/nss_compat/compat-grp.c15
2 files changed, 15 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 6b4c4a3475..6d33ecd5f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 3ef2039e84..ac56f6fbec 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))