* inet/getnetgrent_r.c (innetgr): Call endfct even if result != 0.
authorUlrich Drepper <drepper@redhat.com>
Sun, 25 Sep 2005 22:55:11 +0000 (22:55 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 25 Sep 2005 22:55:11 +0000 (22:55 +0000)
Return 1 only if result == 1.  Patch by Benoit Capelle.

ChangeLog
inet/getnetgrent_r.c

index cbef36a..67320a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * inet/getnetgrent_r.c (innetgr): Call endfct even if result != 0.
+       Return 1 only if result == 1.  Patch by Benoit Capelle.
+
 2005-09-25  Ulrich Drepper  <drepper@redhat.com>
 
        [BZ #278]
index 4dbccd9..97b2b80 100644 (file)
@@ -409,9 +409,6 @@ innetgr (const char *netgroup, const char *host, const char *user,
                    }
                }
 
-             if (result != 0)
-               break;
-
              /* If we found one service which does know the given
                 netgroup we don't try further.  */
              status = NSS_STATUS_RETURN;
@@ -422,6 +419,9 @@ innetgr (const char *netgroup, const char *host, const char *user,
          if (endfct != NULL)
            (*endfct) (&entry);
 
+         if (result != 0)
+           break;
+
          /* Look for the next service.  */
          no_more = __nss_next (&entry.nip, "setnetgrent",
                                &setfct.ptr, status, 0);
@@ -444,6 +444,6 @@ innetgr (const char *netgroup, const char *host, const char *user,
   /* Free the memory.  */
   free_memory (&entry);
 
-  return result;
+  return result == 1;
 }
 libc_hidden_def (innetgr)