]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - nis/nss_compat/compat-pwd.c
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / nis / nss_compat / compat-pwd.c
index 85b79e084e25f06ab43af4eb7623d60c382b16fc..16e9404e2263c4b5dda35695e07067eaa6231a81 100644 (file)
@@ -1,5 +1,4 @@
-/* Copyright (C) 1996-1999,2001-2006,2007,2011
-       Free Software Foundation, Inc.
+/* Copyright (C) 1996-2016 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
 
@@ -28,7 +27,7 @@
 #include <string.h>
 #include <rpc/types.h>
 #include <rpcsvc/ypclnt.h>
-#include <bits/libc-lock.h>
+#include <libc-lock.h>
 #include <kernel-features.h>
 
 #include "netgroup.h"
@@ -312,9 +311,6 @@ _nss_compat_setpwent (int stayopen)
 static enum nss_status
 internal_endpwent (ent_t *ent)
 {
-  if (nss_endpwent)
-    nss_endpwent ();
-
   if (ent->stream != NULL)
     {
       fclose (ent->stream);
@@ -347,6 +343,9 @@ _nss_compat_endpwent (void)
 
   __libc_lock_lock (lock);
 
+  if (nss_endpwent)
+    nss_endpwent ();
+
   result = internal_endpwent (&ext_ent);
 
   __libc_lock_unlock (lock);
@@ -529,7 +528,7 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
       do
        {
          /* We need at least 3 characters for one line.  */
-         if (__builtin_expect (buflen < 3, 0))
+         if (__glibc_unlikely (buflen < 3))
            {
            erange:
              *errnop = ERANGE;
@@ -562,7 +561,7 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
             !(parse_res = _nss_files_parse_pwent (p, result, data, buflen,
                                                   errnop)));
 
-      if (__builtin_expect (parse_res == -1, 0))
+      if (__glibc_unlikely (parse_res == -1))
        /* The parser ran out of space.  */
        goto erange_reset;
 
@@ -579,7 +578,7 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
          char *user, *host, *domain;
          struct __netgrent netgrdata;
 
-         bzero (&netgrdata, sizeof (struct __netgrent));
+         memset (&netgrdata, 0, sizeof (struct __netgrent));
          __internal_setnetgrent (&result->pw_name[2], &netgrdata);
          while (__internal_getnetgrent_r (&host, &user, &domain, &netgrdata,
                                           buf2, sizeof (buf2), errnop))
@@ -728,7 +727,7 @@ internal_getpwnam_r (const char *name, struct passwd *result, ent_t *ent,
       do
        {
          /* We need at least 3 characters for one line.  */
-         if (__builtin_expect (buflen < 3, 0))
+         if (__glibc_unlikely (buflen < 3))
            {
            erange:
              *errnop = ERANGE;
@@ -762,7 +761,7 @@ internal_getpwnam_r (const char *name, struct passwd *result, ent_t *ent,
             !(parse_res = _nss_files_parse_pwent (p, result, data, buflen,
                                                   errnop)));
 
-      if (__builtin_expect (parse_res == -1, 0))
+      if (__glibc_unlikely (parse_res == -1))
        /* The parser ran out of space.  */
        goto erange_reset;
 
@@ -935,7 +934,7 @@ internal_getpwuid_r (uid_t uid, struct passwd *result, ent_t *ent,
       do
        {
          /* We need at least 3 characters for one line.  */
-         if (__builtin_expect (buflen < 3, 0))
+         if (__glibc_unlikely (buflen < 3))
            {
            erange:
              *errnop = ERANGE;
@@ -968,7 +967,7 @@ internal_getpwuid_r (uid_t uid, struct passwd *result, ent_t *ent,
             !(parse_res = _nss_files_parse_pwent (p, result, data, buflen,
                                                   errnop)));
 
-      if (__builtin_expect (parse_res == -1, 0))
+      if (__glibc_unlikely (parse_res == -1))
        /* The parser ran out of space.  */
        goto erange_reset;