summary refs log tree commit diff
path: root/nis
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-08-22 16:04:18 +0000
committerUlrich Drepper <drepper@redhat.com>2007-08-22 16:04:18 +0000
commit0008163a30fec920ede228aea2f6e06e75e76514 (patch)
tree3a3c4d2ce46e456d1387b5c4f5ea92221f2f238e /nis
parent2e0e1a0512c9886222dc32e1a791a7f6b5b69f68 (diff)
downloadglibc-0008163a30fec920ede228aea2f6e06e75e76514.tar.gz
glibc-0008163a30fec920ede228aea2f6e06e75e76514.tar.xz
glibc-0008163a30fec920ede228aea2f6e06e75e76514.zip
* nis/nis_table.c (nis_list): Don't fail if __follow_path returned
	NIS_NOTFOUND.
Diffstat (limited to 'nis')
-rw-r--r--nis/nis_table.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/nis/nis_table.c b/nis/nis_table.c
index 70b4701419..3704b0094e 100644
--- a/nis/nis_table.c
+++ b/nis/nis_table.c
@@ -372,7 +372,8 @@ nis_list (const_nis_name name, unsigned int flags,
 					     &bptr);
 		if (clnt_status != NIS_SUCCESS)
 		  {
-		    NIS_RES_STATUS (res) = clnt_status;
+		    if (clnt_status == NIS_NOMEMORY)
+		      NIS_RES_STATUS (res) = clnt_status;
 		    ++done;
 		  }
 		else
@@ -452,10 +453,14 @@ nis_list (const_nis_name name, unsigned int flags,
 		  ++done;
 		else
 		  {
-		    NIS_RES_STATUS (res)
+		    clnt_status
 		      = __follow_path (&tablepath, &tableptr, ibreq, &bptr);
-		    if (NIS_RES_STATUS (res) != NIS_SUCCESS)
-		      ++done;
+		    if (clnt_status != NIS_SUCCESS)
+		      {
+			if (clnt_status == NIS_NOMEMORY)
+			  NIS_RES_STATUS (res) = clnt_status;
+			++done;
+		      }
 		  }
 	      }
 	    break;