about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-18 04:03:36 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-18 04:03:36 +0000
commit2cfe49db2535beb7ef865462c8655b6af9bc20bd (patch)
tree7bd0f968ede70a7310ed62e5861787458f535b59
parent46d7e2ba2235768df3d633109451fd2bee5f9291 (diff)
downloadglibc-2cfe49db2535beb7ef865462c8655b6af9bc20bd.tar.gz
glibc-2cfe49db2535beb7ef865462c8655b6af9bc20bd.tar.xz
glibc-2cfe49db2535beb7ef865462c8655b6af9bc20bd.zip
Update.
	* nss/getXXbyYY_r.c (REENTRANT_NAME): Return 0 is no entry has
	been found.
-rw-r--r--ChangeLog3
-rw-r--r--nss/getXXbyYY_r.c7
2 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index fcaa26c98d..f9aeb9ad56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2003-02-17  Ulrich Drepper  <drepper@redhat.com>
 
+	* nss/getXXbyYY_r.c (REENTRANT_NAME): Return 0 is no entry has
+	been found.
+
 	* sysdeps/posix/sysconf.c (__sysconf): Test for LOGIN_NAME_MAX and
 	TTY_NAME_MAX and not the _POSIX_* minimal value macros.
 	* sysdeps/unix/sysv/linux/bits/local_lim.h: Define TTY_NAME_MAX
diff --git a/nss/getXXbyYY_r.c b/nss/getXXbyYY_r.c
index 5bb28f7141..ba6ffeb7a5 100644
--- a/nss/getXXbyYY_r.c
+++ b/nss/getXXbyYY_r.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,97,98,99,2000,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2002, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
 
@@ -247,8 +247,7 @@ done:
 #ifdef POSTPROCESS
   POSTPROCESS;
 #endif
-  return (status == NSS_STATUS_SUCCESS ? 0
-	  : status != NSS_STATUS_TRYAGAIN ? ENOENT
+  return (status != NSS_STATUS_TRYAGAIN ? 0
 #ifdef NEED_H_ERRNO
 	  /* These functions only set errno if h_errno is NETDB_INTERNAL.  */
 	  : *h_errnop != NETDB_INTERNAL ? EAGAIN
@@ -269,7 +268,7 @@ OLD (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
   int ret = INTERNAL (REENTRANT_NAME) (ADD_VARIABLES, resbuf, buffer,
 				       buflen, result H_ERRNO_VAR);
 
-  if (ret != 0)
+  if (ret != 0 || result == NULL)
     ret = -1;
 
   return ret;