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().
#include <sys/param.h>
#endif
#include <errno.h>
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
extern char *getwd ();
extern int errno;
errno = ERANGE;
return 0;
}
+ if (!buf) {
+ buf = (char*)malloc(len);
+ if (!buf) {
+ errno = ENOMEM;
+ return 0;
+ }
+ }
strcpy (buf, ourbuf);
}
return buf;