]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Optimize last initgroups patch a bit.
authorUlrich Drepper <drepper@redhat.com>
Mon, 22 Nov 2010 16:15:08 +0000 (11:15 -0500)
committerUlrich Drepper <drepper@redhat.com>
Mon, 22 Nov 2010 16:15:08 +0000 (11:15 -0500)
ChangeLog
nis/nss_compat/compat-initgroups.c

index 66bc545f009d870e982a625aa48ac56860127098..daf74ddfc0b610ff6f139ecb2bfdc598368aa2fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-22  Ulrich Drepper  <drepper@gmail.com>
+
+       * nis/nss_compat/compat-initgroups.c (internal_getgrent_r): Optimize
+       last patch a bit.  Pretty printing
+
 2010-05-31  Petr Baudis <pasky@suse.cz>
 
        [BZ #10085]
index de8d95c7d1b81783d68c2a18fe8c349d20d07192..caff38f9cccebfecacc24be40bee0de64beaf3ab 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2004,2006,2007,2009,2010 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998.
 
@@ -288,12 +288,12 @@ getgrent_next_nss (ent_t *ent, char *buffer, size_t buflen, const char *user,
        return NSS_STATUS_TRYAGAIN;
 
       /* For every gid in the list we get from the NSS module,
-         get the whole group entry. We need to do this, since we
-         need the group name to check if it is in the blacklist.
-         In worst case, this is as twice as slow as stepping with
-         getgrent_r through the whole group database. But for large
-         group databases this is faster, since the user can only be
-         in a limited number of groups.  */
+        get the whole group entry. We need to do this, since we
+        need the group name to check if it is in the blacklist.
+        In worst case, this is as twice as slow as stepping with
+        getgrent_r through the whole group database. But for large
+        group databases this is faster, since the user can only be
+        in a limited number of groups.  */
       if (nss_initgroups_dyn (user, group, &mystart, &mysize, &mygroups,
                              limit, errnop) == NSS_STATUS_SUCCESS)
        {
@@ -426,7 +426,7 @@ internal_getgrent_r (ent_t *ent, char *buffer, size_t buflen, const char *user,
        }
       while (*p == '\0' || *p == '#' ||        /* Ignore empty and comment lines. */
             /* Parse the line.  If it is invalid, loop to
-               get the next line of the file to parse.  */
+               get the next line of the file to parse.  */
             !(parse_res = _nss_files_parse_grent (p, &grpbuf, data, buflen,
                                                   errnop)));
 
@@ -477,15 +477,15 @@ internal_getgrent_r (ent_t *ent, char *buffer, size_t buflen, const char *user,
          if (nss_initgroups_dyn == NULL || nss_getgrgid_r == NULL)
            {
              if (nss_setgrent != NULL)
-               {
+               {
                  nss_setgrent (1);
                  ent->need_endgrent = true;
                }
              ent->skip_initgroups_dyn = true;
-           }
 
-         if (ent->skip_initgroups_dyn && nss_getgrent_r == NULL)
-           return NSS_STATUS_UNAVAIL;
+             if (nss_getgrent_r == NULL)
+               return NSS_STATUS_UNAVAIL;
+           }
 
          ent->files = false;