annotate Mac/Modules/macmodule.c @ 12357:5b59ea41db4e legacy-trunk

Install the docs (with fewer rules). Add descriptions for the system variables.
author Guido van Rossum <guido@python.org>
date Mon, 10 Apr 2000 19:36:27 +0000
parents 9c96e5d437a8
children bc96c912dce8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 /***********************************************************
5079
d6b292a33cfe Added/updated copyright notices
Jack Jansen <jack.jansen@cwi.nl>
parents: 5071
diff changeset
2 Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam,
2091
b4d982c648bb 1995 copyright
Guido van Rossum <guido@python.org>
parents: 2032
diff changeset
3 The Netherlands.
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 All Rights Reserved
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 Permission to use, copy, modify, and distribute this software and its
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 documentation for any purpose and without fee is hereby granted,
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 provided that the above copyright notice appear in all copies and that
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 both that copyright notice and this permission notice appear in
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 supporting documentation, and that the names of Stichting Mathematisch
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 Centrum or CWI not be used in advertising or publicity pertaining to
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 distribution of the software without specific, written prior permission.
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 ******************************************************************/
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
24
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
25 /* Mac module implementation */
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
26
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
27 #include "Python.h"
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
28 #include "ceval.h"
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
30 #include <stdio.h>
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
31 #include <string.h>
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
32 #include <errno.h>
1822
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
33
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
34 #ifdef THINK_C
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
35 #include "unix.h"
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
36 #undef S_IFMT
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
37 #undef S_IFDIR
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
38 #undef S_IFCHR
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
39 #undef S_IFBLK
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
40 #undef S_IFREG
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
41 #undef S_ISDIR
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
42 #undef S_ISREG
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
43 #endif /* THINK_C */
1822
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
44
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
45 #include "macstat.h"
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
46 #ifdef USE_GUSI
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
47 /* Remove defines from macstat.h */
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
48 #undef S_IFMT
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
49 #undef S_IFDIR
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
50 #undef S_IFREG
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
51 #undef S_IREAD
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
52 #undef S_IWRITE
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
53 #undef S_IEXEC
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
54
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
55 #ifdef USE_GUSI1
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
56 #include <GUSI.h>
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
57 #endif /* USE_GUSI1 */
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
58 #include <sys/types.h>
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
59 #include <sys/stat.h>
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
60 #else /* USE_GUSI */
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
61 #define stat macstat
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
62 #endif /* USE_GUSI */
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
63
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
64 #ifdef USE_GUSI2
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
65 #define sync bad_sync
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
66 #include <unistd.h>
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
67 #include <fcntl.h>
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
68 #undef sync
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
69 int sync(void);
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
70 #else
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
71 #ifdef x__MWERKS__
2250
3bef1aff871b CodeWarrior 5 has more unixisms (open/close/read/write)
Jack Jansen <jack.jansen@cwi.nl>
parents: 2222
diff changeset
72 #include <unix.h>
3bef1aff871b CodeWarrior 5 has more unixisms (open/close/read/write)
Jack Jansen <jack.jansen@cwi.nl>
parents: 2222
diff changeset
73 #else
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
74 #include <fcntl.h>
2032
609bfb8ae7f5 Ported to MetroWerks, which misses file-descriptor like functionality.
Jack Jansen <jack.jansen@cwi.nl>
parents: 1822
diff changeset
75 #endif
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
76 #endif
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
77
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
78 /* Optional routines, for some compiler/runtime combinations */
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
79 #if defined(USE_GUSI) || !defined(__MWERKS__)
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
80 #define WEHAVE_FDOPEN
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
81 #endif
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
82 #if defined(MPW) || defined(USE_GUSI)
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
83 #define WEHAVE_DUP
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
84 #endif
7434
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
85 #if defined(USE_GUSI)
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
86 #define WEHAVE_FSTAT
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
87 #endif
2222
bbb56dc3b526 Make malloc stats routine available under MetroWerks
Jack Jansen <jack.jansen@cwi.nl>
parents: 2179
diff changeset
88
1795
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
89 #include "macdefs.h"
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
90 #ifdef USE_GUSI
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
91 #include <dirent.h>
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
92 #else
1795
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
93 #include "dirent.h"
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
94 #endif
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
95
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
96 #ifndef MAXPATHLEN
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
97 #define MAXPATHLEN 1024
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
98 #endif
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
99
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
100 /* Prototypes for Unix simulation on Mac */
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
101
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
102 #ifndef USE_GUSI
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
103
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
104 int chdir Py_PROTO((const char *path));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
105 int mkdir Py_PROTO((const char *path, int mode));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
106 DIR * opendir Py_PROTO((char *));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
107 void closedir Py_PROTO((DIR *));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
108 struct dirent * readdir Py_PROTO((DIR *));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
109 int rmdir Py_PROTO((const char *path));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
110 int sync Py_PROTO((void));
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
111
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
112 #if defined(THINK_C) || defined(__SC__)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
113 int unlink Py_PROTO((char *));
1822
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
114 #else
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
115 int unlink Py_PROTO((const char *));
1822
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
116 #endif
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
117
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
118 #endif /* USE_GUSI */
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
119
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
120 char *getwd Py_PROTO((char *));
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
121 char *getbootvol Py_PROTO((void));
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
122
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
123
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
124 static PyObject *MacError; /* Exception mac.error */
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
125
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
126 /* Set a MAC-specific error from errno, and return NULL */
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
127
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
128 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
129 mac_error()
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
130 {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
131 return PyErr_SetFromErrno(MacError);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
132 }
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
133
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
134 /* MAC generic methods */
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
135
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
136 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
137 mac_1str(args, func)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
138 PyObject *args;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
139 int (*func) Py_FPROTO((const char *));
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
140 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
141 char *path1;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
142 int res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
143 if (!PyArg_Parse(args, "s", &path1))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
144 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
145 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
146 res = (*func)(path1);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
147 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
148 if (res < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
149 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
150 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
151 return Py_None;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
152 }
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
153
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
154 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
155 mac_2str(args, func)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
156 PyObject *args;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
157 int (*func) Py_FPROTO((const char *, const char *));
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
158 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
159 char *path1, *path2;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
160 int res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
161 if (!PyArg_Parse(args, "(ss)", &path1, &path2))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
162 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
163 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
164 res = (*func)(path1, path2);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
165 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
166 if (res < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
167 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
168 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
169 return Py_None;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
170 }
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
171
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
172 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
173 mac_strint(args, func)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
174 PyObject *args;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
175 int (*func) Py_FPROTO((const char *, int));
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
176 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
177 char *path;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
178 int i;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
179 int res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
180 if (!PyArg_Parse(args, "(si)", &path, &i))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
181 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
182 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
183 res = (*func)(path, i);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
184 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
185 if (res < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
186 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
187 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
188 return Py_None;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
189 }
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
190
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
191 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
192 mac_chdir(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
193 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
194 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
195 {
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
196 #ifdef USE_GUSI1
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
197 PyObject *rv;
3433
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
198
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
199 /* Change MacOS's idea of wd too */
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
200 rv = mac_1str(args, chdir);
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
201 PyMac_FixGUSIcd();
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
202 return rv;
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
203 #else
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
204 return mac_1str(args, chdir);
3433
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
205 #endif
578ca302a598 Replaced previous gusi-chdir() fix by a call to PyMac_FixGUSIcd()
Jack Jansen <jack.jansen@cwi.nl>
parents: 3405
diff changeset
206
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
207 }
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
208
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
209 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
210 mac_close(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
211 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
212 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
213 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
214 int fd, res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
215 if (!PyArg_Parse(args, "i", &fd))
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
216 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
217 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
218 res = close(fd);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
219 Py_END_ALLOW_THREADS
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
220 #ifndef USE_GUSI1
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
221 /* GUSI gives surious errors here? */
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
222 if (res < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
223 return mac_error();
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
224 #endif
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
225 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
226 return Py_None;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
227 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
228
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
229 #ifdef WEHAVE_DUP
1622
812d0811fcf3 Walker's changes fixed so they work in THINK C 5
Guido van Rossum <guido@python.org>
parents: 1620
diff changeset
230
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
231 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
232 mac_dup(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
233 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
234 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
235 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
236 int fd;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
237 if (!PyArg_Parse(args, "i", &fd))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
238 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
239 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
240 fd = dup(fd);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
241 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
242 if (fd < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
243 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
244 return PyInt_FromLong((long)fd);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
245 }
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
246
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
247 #endif
1821
40594f80ab3c Intermediate version of changes after porting to MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1808
diff changeset
248
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
249 #ifdef WEHAVE_FDOPEN
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
250 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
251 mac_fdopen(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
252 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
253 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
254 {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
255 extern int fclose Py_PROTO((FILE *));
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
256 int fd;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
257 char *mode;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
258 FILE *fp;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
259 if (!PyArg_Parse(args, "(is)", &fd, &mode))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
260 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
261 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
262 fp = fdopen(fd, mode);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
263 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
264 if (fp == NULL)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
265 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
266 return PyFile_FromFile(fp, "(fdopen)", mode, fclose);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
267 }
2032
609bfb8ae7f5 Ported to MetroWerks, which misses file-descriptor like functionality.
Jack Jansen <jack.jansen@cwi.nl>
parents: 1822
diff changeset
268 #endif
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
269
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
270 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
271 mac_getbootvol(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
272 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
273 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
274 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
275 char *res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
276 if (!PyArg_NoArgs(args))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
277 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
278 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
279 res = getbootvol();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
280 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
281 if (res == NULL)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
282 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
283 return PyString_FromString(res);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
284 }
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
285
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
286 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
287 mac_getcwd(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
288 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
289 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
290 {
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
291 char path[MAXPATHLEN];
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
292 char *res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
293 if (!PyArg_NoArgs(args))
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
294 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
295 Py_BEGIN_ALLOW_THREADS
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
296 #ifdef USE_GUSI
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
297 res = getcwd(path, sizeof path);
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
298 #else
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
299 res = getwd(path);
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
300 #endif
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
301 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
302 if (res == NULL) {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
303 PyErr_SetString(MacError, path);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
304 return NULL;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
305 }
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
306 return PyString_FromString(res);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
307 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
308
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
309 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
310 mac_listdir(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
311 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
312 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
313 {
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
314 char *name;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
315 PyObject *d, *v;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
316 DIR *dirp;
1795
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
317 struct dirent *ep;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
318 if (!PyArg_Parse(args, "s", &name))
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
319 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
320 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
321 if ((dirp = opendir(name)) == NULL) {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
322 Py_BLOCK_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
323 return mac_error();
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
324 }
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
325 if ((d = PyList_New(0)) == NULL) {
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
326 closedir(dirp);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
327 Py_BLOCK_THREADS
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
328 return NULL;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
329 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
330 while ((ep = readdir(dirp)) != NULL) {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
331 v = PyString_FromString(ep->d_name);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
332 if (v == NULL) {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
333 Py_DECREF(d);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
334 d = NULL;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
335 break;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
336 }
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
337 if (PyList_Append(d, v) != 0) {
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
338 Py_DECREF(v);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
339 Py_DECREF(d);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
340 d = NULL;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
341 break;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
342 }
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
343 Py_DECREF(v);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
344 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
345 closedir(dirp);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
346 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
347
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
348 return d;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
349 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
350
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
351 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
352 mac_lseek(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
353 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
354 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
355 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
356 int fd;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
357 int where;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
358 int how;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
359 long res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
360 if (!PyArg_Parse(args, "(iii)", &fd, &where, &how))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
361 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
362 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
363 res = lseek(fd, (long)where, how);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
364 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
365 if (res < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
366 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
367 return PyInt_FromLong(res);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
368 }
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
369
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
370 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
371 mac_mkdir(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
372 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
373 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
374 {
3405
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
375 int res;
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
376 char *path;
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
377 int mode = 0777; /* Unused */
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
378 if (!PyArg_ParseTuple(args, "s|i", &path, &mode))
3405
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
379 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
380 Py_BEGIN_ALLOW_THREADS
12284
9c96e5d437a8 Started on GUSI2 and threading support.
Jack Jansen <jack.jansen@cwi.nl>
parents: 7434
diff changeset
381 #ifdef USE_GUSI1
3942
38684852376f GUSI mkdir() lost its dummy second arg
Jack Jansen <jack.jansen@cwi.nl>
parents: 3433
diff changeset
382 res = mkdir(path);
38684852376f GUSI mkdir() lost its dummy second arg
Jack Jansen <jack.jansen@cwi.nl>
parents: 3433
diff changeset
383 #else
3405
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
384 res = mkdir(path, mode);
3942
38684852376f GUSI mkdir() lost its dummy second arg
Jack Jansen <jack.jansen@cwi.nl>
parents: 3433
diff changeset
385 #endif
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
386 Py_END_ALLOW_THREADS
3405
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
387 if (res < 0)
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
388 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
389 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
390 return Py_None;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
391 }
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
392
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
393 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
394 mac_open(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
395 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
396 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
397 {
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
398 char *path;
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
399 int mode;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
400 int fd;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
401 if (!PyArg_Parse(args, "(si)", &path, &mode))
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
402 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
403 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
404 fd = open(path, mode);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
405 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
406 if (fd < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
407 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
408 return PyInt_FromLong((long)fd);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
409 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
410
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
411 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
412 mac_read(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
413 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
414 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
415 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
416 int fd, size;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
417 PyObject *buffer;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
418 if (!PyArg_Parse(args, "(ii)", &fd, &size))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
419 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
420 buffer = PyString_FromStringAndSize((char *)NULL, size);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
421 if (buffer == NULL)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
422 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
423 Py_BEGIN_ALLOW_THREADS
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
424 size = read(fd, PyString_AsString(buffer), size);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
425 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
426 if (size < 0) {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
427 Py_DECREF(buffer);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
428 return mac_error();
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
429 }
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
430 _PyString_Resize(&buffer, size);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
431 return buffer;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
432 }
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
433
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
434 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
435 mac_rename(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
436 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
437 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
438 {
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
439 return mac_2str(args, rename);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
440 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
441
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
442 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
443 mac_rmdir(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
444 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
445 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
446 {
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
447 return mac_1str(args, rmdir);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
448 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
449
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
450 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
451 mac_stat(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
452 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
453 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
454 {
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
455 struct stat st;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
456 char *path;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
457 int res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
458 if (!PyArg_Parse(args, "s", &path))
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
459 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
460 Py_BEGIN_ALLOW_THREADS
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
461 res = stat(path, &st);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
462 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
463 if (res != 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
464 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
465 return Py_BuildValue("(lllllllddd)",
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
466 (long)st.st_mode,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
467 (long)st.st_ino,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
468 (long)st.st_dev,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
469 (long)st.st_nlink,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
470 (long)st.st_uid,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
471 (long)st.st_gid,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
472 (long)st.st_size,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
473 (double)st.st_atime,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
474 (double)st.st_mtime,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
475 (double)st.st_ctime);
7434
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
476 }
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
477
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
478 #ifdef WEHAVE_FSTAT
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
479 static PyObject *
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
480 mac_fstat(self, args)
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
481 PyObject *self;
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
482 PyObject *args;
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
483 {
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
484 struct stat st;
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
485 long fd;
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
486 int res;
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
487 if (!PyArg_Parse(args, "l", &fd))
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
488 return NULL;
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
489 Py_BEGIN_ALLOW_THREADS
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
490 res = fstat((int)fd, &st);
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
491 Py_END_ALLOW_THREADS
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
492 if (res != 0)
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
493 return mac_error();
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
494 return Py_BuildValue("(lllllllddd)",
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
495 (long)st.st_mode,
1821
40594f80ab3c Intermediate version of changes after porting to MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1808
diff changeset
496 (long)st.st_ino,
1795
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
497 (long)st.st_dev,
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
498 (long)st.st_nlink,
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
499 (long)st.st_uid,
fa8bbd09f2e6 Updates for THINK C 6.0. Moved the necessary UNIX emulation routines here.
Guido van Rossum <guido@python.org>
parents: 1692
diff changeset
500 (long)st.st_gid,
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
501 (long)st.st_size,
7434
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
502 (double)st.st_atime,
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
503 (double)st.st_mtime,
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
504 (double)st.st_ctime);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
505 }
7434
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
506 #endif /* WEHAVE_FSTAT */
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
507
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
508 static PyObject *
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
509 mac_xstat(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
510 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
511 PyObject *args;
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
512 {
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
513 struct macstat mst;
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
514 struct stat st;
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
515 char *path;
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
516 int res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
517 if (!PyArg_Parse(args, "s", &path))
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
518 return NULL;
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
519 /*
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
520 ** Convoluted: we want stat() and xstat() to agree, so we call both
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
521 ** stat and macstat, and use the latter only for values not provided by
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
522 ** the former.
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
523 */
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
524 Py_BEGIN_ALLOW_THREADS
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
525 res = macstat(path, &mst);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
526 Py_END_ALLOW_THREADS
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
527 if (res != 0)
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
528 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
529 Py_BEGIN_ALLOW_THREADS
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
530 res = stat(path, &st);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
531 Py_END_ALLOW_THREADS
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
532 if (res != 0)
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
533 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
534 return Py_BuildValue("(llllllldddls#s#)",
3394
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
535 (long)st.st_mode,
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
536 (long)st.st_ino,
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
537 (long)st.st_dev,
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
538 (long)st.st_nlink,
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
539 (long)st.st_uid,
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
540 (long)st.st_gid,
4fea6cd94dfa Modified for GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 2929
diff changeset
541 (long)st.st_size,
4414
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
542 (double)st.st_atime,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
543 (double)st.st_mtime,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
544 (double)st.st_ctime,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
545 (long)mst.st_rsize,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
546 mst.st_creator, 4,
02a68d623805 Fixed xstat to again include resroucefork size, creator, type. Obtain
Jack Jansen <jack.jansen@cwi.nl>
parents: 3942
diff changeset
547 mst.st_type, 4);
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
548 }
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
549
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
550 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
551 mac_sync(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
552 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
553 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
554 {
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
555 int res;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
556 if (!PyArg_NoArgs(args))
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
557 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
558 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
559 res = sync();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
560 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
561 if (res != 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
562 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
563 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
564 return Py_None;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
565 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
566
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
567 static PyObject *
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
568 mac_unlink(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
569 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
570 PyObject *args;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
571 {
1822
76d0f2b3b9ee Completed (hopefully) the unification of THINK 6.0 and MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1821
diff changeset
572 return mac_1str(args, (int (*)(const char *))unlink);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
573 }
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
574
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
575 static PyObject *
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
576 mac_write(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
577 PyObject *self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
578 PyObject *args;
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
579 {
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
580 int fd, size;
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
581 char *buffer;
5429
ac235c9e6881 - Changed the m# format for PyArg_ParseTuple back to s#
Jack Jansen <jack.jansen@cwi.nl>
parents: 5152
diff changeset
582 if (!PyArg_Parse(args, "(is#)", &fd, &buffer, &size))
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
583 return NULL;
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
584 Py_BEGIN_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
585 size = write(fd, buffer, size);
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
586 Py_END_ALLOW_THREADS
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
587 if (size < 0)
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
588 return mac_error();
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
589 return PyInt_FromLong((long)size);
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
590 }
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
591
4468
600f5b8a16cb Malloc debugging now flagged with USE_MALLOC_DEBUG
Jack Jansen <jack.jansen@cwi.nl>
parents: 4414
diff changeset
592 #ifdef USE_MALLOC_DEBUG
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
593 static PyObject *
2179
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
594 mac_mstats(self, args)
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
595 PyObject*self;
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
596 PyObject *args;
2179
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
597 {
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
598 mstats("python");
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
599 Py_INCREF(Py_None);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
600 return Py_None;
2179
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
601 }
5141
a4c8b8871376 Comments around identifier after #endif
Jack Jansen <jack.jansen@cwi.nl>
parents: 5079
diff changeset
602 #endif /* USE_MALLOC_DEBUG */
2179
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
603
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
604 static struct PyMethodDef mac_methods[] = {
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
605 {"chdir", mac_chdir},
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
606 {"close", mac_close},
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
607 #ifdef WEHAVE_DUP
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
608 {"dup", mac_dup},
1821
40594f80ab3c Intermediate version of changes after porting to MPW 3.2
Guido van Rossum <guido@python.org>
parents: 1808
diff changeset
609 #endif
3400
116db7347d01 - Added Guido's fixes
Jack Jansen <jack.jansen@cwi.nl>
parents: 3394
diff changeset
610 #ifdef WEHAVE_FDOPEN
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
611 {"fdopen", mac_fdopen},
2032
609bfb8ae7f5 Ported to MetroWerks, which misses file-descriptor like functionality.
Jack Jansen <jack.jansen@cwi.nl>
parents: 1822
diff changeset
612 #endif
7434
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
613 #ifdef WEHAVE_FSTAT
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
614 {"fstat", mac_fstat},
3de0cb82e61a Add fstat() if using GUSI
Jack Jansen <jack.jansen@cwi.nl>
parents: 6442
diff changeset
615 #endif
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
616 {"getbootvol", mac_getbootvol}, /* non-standard */
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
617 {"getcwd", mac_getcwd},
2391
ecbbaa584f3c explicitly init flags in methodlist
Guido van Rossum <guido@python.org>
parents: 2359
diff changeset
618 {"listdir", mac_listdir, 0},
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
619 {"lseek", mac_lseek},
3405
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
620 {"mkdir", mac_mkdir, 1},
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
621 {"open", mac_open},
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
622 {"read", mac_read},
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
623 {"rename", mac_rename},
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
624 {"rmdir", mac_rmdir},
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
625 {"stat", mac_stat},
2929
7d1ecec25c06 add xstat (extended stat, returns resource fork size and creator/type)
Guido van Rossum <guido@python.org>
parents: 2722
diff changeset
626 {"xstat", mac_xstat},
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
627 {"sync", mac_sync},
3405
c283447b985f Mods by Guido: mkdir 2nd arg optional and remove as alias for unlink.
Jack Jansen <jack.jansen@cwi.nl>
parents: 3400
diff changeset
628 {"remove", mac_unlink},
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
629 {"unlink", mac_unlink},
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
630 {"write", mac_write},
4468
600f5b8a16cb Malloc debugging now flagged with USE_MALLOC_DEBUG
Jack Jansen <jack.jansen@cwi.nl>
parents: 4414
diff changeset
631 #ifdef USE_MALLOC_DEBUG
2179
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
632 {"mstats", mac_mstats},
8da03decef59 More Pstring() stuff and some cosmetics
Jack Jansen <jack.jansen@cwi.nl>
parents: 2091
diff changeset
633 #endif
1620
8454579ab52f As extended by Richard M Walker for MPW
Guido van Rossum <guido@python.org>
parents: 1522
diff changeset
634
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
635 {NULL, NULL} /* Sentinel */
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
636 };
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
637
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
638
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
639 void
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
640 initmac()
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
641 {
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
642 PyObject *m, *d;
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
643
5071
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
644 m = Py_InitModule("mac", mac_methods);
44bdf0b56c0b Renamed
Jack Jansen <jack.jansen@cwi.nl>
parents: 4468
diff changeset
645 d = PyModule_GetDict(m);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
646
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
647 /* Initialize mac.error exception */
6442
ddfcefc0d826 New exception interface
Jack Jansen <jack.jansen@cwi.nl>
parents: 5429
diff changeset
648 MacError = PyErr_NewException("mac.error", NULL, NULL);
ddfcefc0d826 New exception interface
Jack Jansen <jack.jansen@cwi.nl>
parents: 5429
diff changeset
649 PyDict_SetItemString(d, "error", MacError);
1495
877073b9f8c3 Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
650 }