summaryrefslogtreecommitdiff
path: root/Python/getcwd.c
diff options
context:
space:
mode:
authorZachary Ware <zachary.ware@gmail.com>2014-01-21 13:50:13 -0600
committerZachary Ware <zachary.ware@gmail.com>2014-01-21 13:50:13 -0600
commitff1769802fc3ac342e45d4967eeece028184fe6c (patch)
treefd08ccf458c45f70ccb09547d28826a7071c73b3 /Python/getcwd.c
parent77772c41204d33ca7ccb96908d2275a1d2711aa6 (diff)
parente0833fb5e338ab5d63f7ec2d15bdb65b3dc99e6d (diff)
downloadcpython-ff1769802fc3ac342e45d4967eeece028184fe6c.tar.gz
Issue #20301: Merge with 3.3
Diffstat (limited to 'Python/getcwd.c')
-rw-r--r--Python/getcwd.c83
1 files changed, 0 insertions, 83 deletions
diff --git a/Python/getcwd.c b/Python/getcwd.c
deleted file mode 100644
index 4bedbd1f75..0000000000
--- a/Python/getcwd.c
+++ /dev/null
@@ -1,83 +0,0 @@
-
-/* Two PD getcwd() implementations.
- Author: Guido van Rossum, CWI Amsterdam, Jan 1991, <guido@cwi.nl>. */
-
-#include <stdio.h>
-#include <errno.h>
-
-#ifdef HAVE_GETWD
-
-/* Version for BSD systems -- use getwd() */
-
-#ifdef HAVE_SYS_PARAM_H
-#include <sys/param.h>
-#endif
-
-#ifndef MAXPATHLEN
-#if defined(PATH_MAX) && PATH_MAX > 1024
-#define MAXPATHLEN PATH_MAX
-#else
-#define MAXPATHLEN 1024
-#endif
-#endif
-
-extern char *getwd(char *);
-
-char *
-getcwd(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_t)size) {
- errno = ERANGE;
- return NULL;
- }
- if (ret == NULL) {
- errno = EACCES; /* Most likely error */
- return NULL;
- }
- strncpy(buf, localbuf, size);
- return buf;
-}
-
-#else /* !HAVE_GETWD */
-
-/* Version for really old UNIX systems -- use pipe from pwd */
-
-#ifndef PWD_CMD
-#define PWD_CMD "/bin/pwd"
-#endif
-
-char *
-getcwd(char *buf, int size)
-{
- FILE *fp;
- char *p;
- int sts;
- if (size <= 0) {
- errno = EINVAL;
- return NULL;
- }
- if ((fp = popen(PWD_CMD, "r")) == NULL)
- return NULL;
- if (fgets(buf, size, fp) == NULL || (sts = pclose(fp)) != 0) {
- errno = EACCES; /* Most likely error */
- return NULL;
- }
- for (p = buf; *p != '\n'; p++) {
- if (*p == '\0') {
- errno = ERANGE;
- return NULL;
- }
- }
- *p = '\0';
- return buf;
-}
-
-#endif /* !HAVE_GETWD */