mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-20 11:21:29 +03:00
Update.
1999-02-21 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/generic/glob.c (glob): Save previous errno.
This commit is contained in:
@@ -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>
|
1999-02-21 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
* sysdeps/generic/glob.c (glob): Enlarge buffers for reentrant
|
* sysdeps/generic/glob.c (glob): Enlarge buffers for reentrant
|
||||||
|
@@ -642,6 +642,7 @@ glob (pattern, flags, errfunc, pglob)
|
|||||||
size_t pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX);
|
size_t pwbuflen = sysconf (_SC_GETPW_R_SIZE_MAX);
|
||||||
char *pwtmpbuf;
|
char *pwtmpbuf;
|
||||||
struct passwd pwbuf;
|
struct passwd pwbuf;
|
||||||
|
int save = errno;
|
||||||
|
|
||||||
if (pwbuflen == -1)
|
if (pwbuflen == -1)
|
||||||
/* `sysconf' does not support _SC_GETPW_R_SIZE_MAX.
|
/* `sysconf' does not support _SC_GETPW_R_SIZE_MAX.
|
||||||
@@ -659,7 +660,7 @@ glob (pattern, flags, errfunc, pglob)
|
|||||||
}
|
}
|
||||||
pwbuflen *= 2;
|
pwbuflen *= 2;
|
||||||
pwtmpbuf = (char *) __alloca (pwbuflen);
|
pwtmpbuf = (char *) __alloca (pwbuflen);
|
||||||
__set_errno (0);
|
__set_errno (save);
|
||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
p = getpwnam (name);
|
p = getpwnam (name);
|
||||||
@@ -726,6 +727,7 @@ glob (pattern, flags, errfunc, pglob)
|
|||||||
size_t buflen = sysconf (_SC_GETPW_R_SIZE_MAX);
|
size_t buflen = sysconf (_SC_GETPW_R_SIZE_MAX);
|
||||||
char *pwtmpbuf;
|
char *pwtmpbuf;
|
||||||
struct passwd pwbuf;
|
struct passwd pwbuf;
|
||||||
|
int save = errno;
|
||||||
|
|
||||||
if (buflen == -1)
|
if (buflen == -1)
|
||||||
/* `sysconf' does not support _SC_GETPW_R_SIZE_MAX. Try a
|
/* `sysconf' does not support _SC_GETPW_R_SIZE_MAX. Try a
|
||||||
@@ -740,8 +742,9 @@ glob (pattern, flags, errfunc, pglob)
|
|||||||
p = NULL;
|
p = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pwtmpbuf = __alloca (buflen *= 2);
|
buflen *= 2;
|
||||||
__set_errno (0);
|
pwtmpbuf = __alloca (buflen);
|
||||||
|
__set_errno (save);
|
||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
p = getpwnam (user_name);
|
p = getpwnam (user_name);
|
||||||
|
Reference in New Issue
Block a user