summaryrefslogtreecommitdiffstats
path: root/Mac/Compat/chdir.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1994-08-19 10:51:31 (GMT)
committerGuido van Rossum <guido@python.org>1994-08-19 10:51:31 (GMT)
commitd4d77284408316a68cdc2ab9e8e1d4a06e534938 (patch)
treef25369ac9cc34663abcfd3be4b08035d8fe72c62 /Mac/Compat/chdir.c
parente89bc75048d0142859379b2b92e77d984fdbef6e (diff)
downloadcpython-d4d77284408316a68cdc2ab9e8e1d4a06e534938.zip
cpython-d4d77284408316a68cdc2ab9e8e1d4a06e534938.tar.gz
cpython-d4d77284408316a68cdc2ab9e8e1d4a06e534938.tar.bz2
Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Diffstat (limited to 'Mac/Compat/chdir.c')
-rw-r--r--Mac/Compat/chdir.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/Mac/Compat/chdir.c b/Mac/Compat/chdir.c
new file mode 100644
index 0000000..b8ec6d7
--- /dev/null
+++ b/Mac/Compat/chdir.c
@@ -0,0 +1,26 @@
+/* Chdir for the Macintosh.
+ Public domain by Guido van Rossum, CWI, Amsterdam (July 1987).
+ Pathnames must be Macintosh paths, with colons as separators. */
+
+#include "macdefs.h"
+
+/* Change current directory. */
+
+int
+chdir(path)
+ char *path;
+{
+ WDPBRec pb;
+ char name[MAXPATH];
+
+ strncpy(name, path, sizeof name);
+ name[MAXPATH-1]= EOS;
+ pb.ioNamePtr= (StringPtr) c2pstr(name);
+ pb.ioVRefNum= 0;
+ pb.ioWDDirID= 0;
+ if (PBHSetVol(&pb, FALSE) != noErr) {
+ errno= ENOENT;
+ return -1;
+ }
+ return 0;
+}