getcwd.c (getcwd): If pathname is NULL, then obtain SIZE bytes of space using malloc.

P
        * getcwd.c (getcwd): If pathname is NULL, then obtain SIZE
        bytes of space using malloc.

From-SVN: r27161
This commit is contained in:
Melissa O'Neill 1999-05-25 21:04:27 -06:00 committed by Jeff Law
parent 71cce721af
commit d05ba2205f
1 changed files with 10 additions and 0 deletions

View File

@ -14,6 +14,9 @@ DESCRIPTION
current directory's path doesn't fit in LEN characters, the result
is NULL and errno is set.
If pathname is a null pointer, getcwd() will obtain size bytes of
space using malloc.
BUGS
Emulated via the getwd() call, which is reasonable for most
systems that do not have getcwd().
@ -48,6 +51,13 @@ getcwd (buf, len)
errno = ERANGE;
return 0;
}
if (!buf) {
buf = (char*)malloc(len);
if (!buf) {
errno = ENOMEM;
return 0;
}
}
strcpy (buf, ourbuf);
}
return buf;