1999-08-20 Ulrich Drepper <drepper@cygnus.com>
- * sysdeps/unix/sysv/linux/getcwd.c: Allocate buffer large enough
- not only if size == 0, but also for size < 0.
- * sysdeps/posix/getcwd.c: Likewise. [PR libc/1269]
+ * sysdeps/posix/getcwd.c: Correct comment saying < 0 is ok for size
+ type. [PR libc/1269]
* posix/execvp.c (execvp): Allocate array name of correct size.
Optimize inner loop. Use execve directly, not execv.
bytes of BUF. Returns NULL if the directory couldn't be determined or
SIZE was too small. If successful, returns BUF. In GNU, if BUF is
NULL, an array is allocated with `malloc'; the array is SIZE bytes long,
- unless SIZE <= 0, in which case it is as big as necessary. */
+ unless SIZE == 0, in which case it is as big as necessary. */
GETCWD_RETURN_TYPE
__getcwd (buf, size)
int prev_errno = errno;
size_t allocated = size;
- if (size <= 0)
+ if (size == 0)
{
if (buf != NULL)
{
if ((size_t) (pathp - path) <= namlen)
{
- if (size > 0)
+ if (size != 0)
{
(void) __closedir (dirstream);
__set_errno (ERANGE);
if (no_syscall_getcwd && !have_new_dcache)
return generic_getcwd (buf, size);
- if (size <= 0)
+ if (size == 0)
{
if (buf != NULL)
{
__set_errno (save_errno);
/* Don't put restrictions on the length of the path unless the user does. */
- if (size <= 0)
+ if (size == 0)
{
free (path);
path = NULL;
result = generic_getcwd (path, size);
- if (result == NULL && buf == NULL && size > 0)
+ if (result == NULL && buf == NULL && size != 0)
free (path);
return result;