Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 21 Feb 1999 14:29:07 +0000 (14:29 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 21 Feb 1999 14:29:07 +0000 (14:29 +0000)
1999-02-21  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

* sysdeps/generic/glob.c (glob): Save previous errno.

ChangeLog
sysdeps/generic/glob.c

index 2f0205c..772d785 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1999-02-21  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+       * sysdeps/generic/glob.c (glob): Save previous errno.
+
 1999-02-21  Ulrich Drepper  <drepper@cygnus.com>
 
        * sysdeps/generic/glob.c (glob): Enlarge buffers for reentrant
index 977ce15..d624655 100644 (file)
@@ -642,6 +642,7 @@ glob (pattern, flags, errfunc, pglob)
                  size_t pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX);
                  char *pwtmpbuf;
                  struct passwd pwbuf;
+                 int save = errno;
 
                  if (pwbuflen == -1)
                    /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX.
@@ -659,7 +660,7 @@ glob (pattern, flags, errfunc, pglob)
                        }
                      pwbuflen *= 2;
                      pwtmpbuf = (char *) __alloca (pwbuflen);
-                     __set_errno (0);
+                     __set_errno (save);
                    }
 #   else
                  p = getpwnam (name);
@@ -726,6 +727,7 @@ glob (pattern, flags, errfunc, pglob)
            size_t buflen = sysconf (_SC_GETPW_R_SIZE_MAX);
            char *pwtmpbuf;
            struct passwd pwbuf;
+           int save = errno;
 
            if (buflen == -1)
              /* `sysconf' does not support _SC_GETPW_R_SIZE_MAX.  Try a
@@ -740,8 +742,9 @@ glob (pattern, flags, errfunc, pglob)
                    p = NULL;
                    break;
                  }
-               pwtmpbuf = __alloca (buflen *= 2);
-               __set_errno (0);
+               buflen *= 2;
+               pwtmpbuf = __alloca (buflen);
+               __set_errno (save);
              }
 #  else
            p = getpwnam (user_name);