]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Initial revision
authorGuido van Rossum <guido@python.org>
Mon, 21 Jan 1991 14:27:52 +0000 (14:27 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 21 Jan 1991 14:27:52 +0000 (14:27 +0000)
Python/getcwd.c [new file with mode: 0644]

diff --git a/Python/getcwd.c b/Python/getcwd.c
new file mode 100644 (file)
index 0000000..340acab
--- /dev/null
@@ -0,0 +1,35 @@
+/* Quick hack to get posix.getcwd() working for pure BSD 4.3 */
+
+#include "sys/param.h"
+#include "errno.h"
+
+extern int errno;
+
+extern char *getwd();
+
+char *
+getcwd(buf, size)
+       char *buf;
+       int size;
+{
+       char localbuf[MAXPATHLEN+1];
+       char *ret;
+       
+       if (size <= 0) {
+               errno = EINVAL;
+               return NULL;
+       }
+       ret = getwd(localbuf);
+       if (ret != NULL && strlen(localbuf) >= size) {
+               errno = ERANGE;
+               return NULL;
+       }
+       if (ret == NULL) {
+               errno = EACCES; /* Most likely error */
+               return NULL;
+       }
+       strncpy(buf, localbuf, size);
+       return buf;
+}
+
+/* PS: for really old systems you must popen /bin/pwd ... */