Mercurial > cpython-lru_cache-weakref
annotate Python/mactoolboxglue.c @ 40069:4eefce8bc2f7 2.4
[Partial backport of r45947 | neal.norwitz]
Fix problems found by Coverity.
longobject.c: also fix an ssize_t problem
<a> could have been NULL, so hoist the size calc to not use <a>.
[The ssize_t change isn't needed for 2.4. The other changes in this revision
are to modules not present in 2.4. --amk]
| author | Andrew M. Kuchling <amk@amk.ca> |
|---|---|
| date | Mon, 09 Oct 2006 18:42:49 +0000 |
| parents | 693ff5d73412 |
| children |
| rev | line source |
|---|---|
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 /*********************************************************** |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 The Netherlands. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 All Rights Reserved |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 Permission to use, copy, modify, and distribute this software and its |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
8 documentation for any purpose and without fee is hereby granted, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
9 provided that the above copyright notice appear in all copies and that |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
10 both that copyright notice and this permission notice appear in |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
11 supporting documentation, and that the names of Stichting Mathematisch |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
12 Centrum or CWI not be used in advertising or publicity pertaining to |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
13 distribution of the software without specific, written prior permission. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
14 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
22 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
23 ******************************************************************/ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
24 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
25 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
26 #include "Python.h" |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
27 #include "pymactoolbox.h" |
|
40053
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
28 #include <arpa/inet.h> /* for ntohl, htonl */ |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
29 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
30 /* Like strerror() but for Mac OS error numbers */ |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
31 char * |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
32 PyMac_StrError(int err) |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
33 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
34 static char buf[256]; |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
35 PyObject *m; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
36 PyObject *rv; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
37 |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
38 m = PyImport_ImportModule("MacOS"); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
39 if (!m) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
40 if (Py_VerboseFlag) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
41 PyErr_Print(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
42 PyErr_Clear(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
43 rv = NULL; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
44 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
45 else { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
46 rv = PyObject_CallMethod(m, "GetErrorString", "i", err); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
47 if (!rv) |
|
26100
756319a137b8
Got rid of the python.rsrc resource file. The error message strings and
Jack Jansen <jack.jansen@cwi.nl>
parents:
25868
diff
changeset
|
48 PyErr_Clear(); |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
49 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
50 if (!rv) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
51 buf[0] = '\0'; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
52 } |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
53 else { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
54 char *input = PyString_AsString(rv); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
55 if (!input) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
56 PyErr_Clear(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
57 buf[0] = '\0'; |
|
26100
756319a137b8
Got rid of the python.rsrc resource file. The error message strings and
Jack Jansen <jack.jansen@cwi.nl>
parents:
25868
diff
changeset
|
58 } else { |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
59 strncpy(buf, input, sizeof(buf) - 1); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
60 buf[sizeof(buf) - 1] = '\0'; |
|
26100
756319a137b8
Got rid of the python.rsrc resource file. The error message strings and
Jack Jansen <jack.jansen@cwi.nl>
parents:
25868
diff
changeset
|
61 } |
|
756319a137b8
Got rid of the python.rsrc resource file. The error message strings and
Jack Jansen <jack.jansen@cwi.nl>
parents:
25868
diff
changeset
|
62 } |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
63 |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
64 return buf; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
65 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
66 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
67 /* Exception object shared by all Mac specific modules for Mac OS errors */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
68 PyObject *PyMac_OSErrException; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
69 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
70 /* Initialize and return PyMac_OSErrException */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
71 PyObject * |
|
19841
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
72 PyMac_GetOSErrException(void) |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
73 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
74 if (PyMac_OSErrException == NULL) |
|
25868
2b158267b00e
Made MacOS.Error a class style exception (at last!).
Jack Jansen <jack.jansen@cwi.nl>
parents:
24480
diff
changeset
|
75 PyMac_OSErrException = PyErr_NewException("MacOS.Error", NULL, NULL); |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
76 return PyMac_OSErrException; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
77 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
78 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
79 /* Set a MAC-specific error from errno, and return NULL; return None if no error */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
80 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
81 PyErr_Mac(PyObject *eobj, int err) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
82 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
83 char *msg; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
84 PyObject *v; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
85 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
86 if (err == 0 && !PyErr_Occurred()) { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
87 Py_INCREF(Py_None); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
88 return Py_None; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
89 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
90 if (err == -1 && PyErr_Occurred()) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
91 return NULL; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
92 msg = PyMac_StrError(err); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
93 v = Py_BuildValue("(is)", err, msg); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
94 PyErr_SetObject(eobj, v); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
95 Py_DECREF(v); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
96 return NULL; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
97 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
98 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
99 /* Call PyErr_Mac with PyMac_OSErrException */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
100 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
101 PyMac_Error(OSErr err) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
102 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
103 return PyErr_Mac(PyMac_GetOSErrException(), err); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
104 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
105 |
|
19841
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
106 |
|
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
107 OSErr |
|
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
108 PyMac_GetFullPathname(FSSpec *fss, char *path, int len) |
|
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
109 { |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
110 PyObject *fs, *exc; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
111 PyObject *rv = NULL; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
112 char *input; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
113 OSErr err = noErr; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
114 |
|
19841
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
115 *path = '\0'; |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
116 |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
117 fs = PyMac_BuildFSSpec(fss); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
118 if (!fs) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
119 goto error; |
|
19841
d8dd75e3b304
Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
Jack Jansen <jack.jansen@cwi.nl>
parents:
19645
diff
changeset
|
120 |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
121 rv = PyObject_CallMethod(fs, "as_pathname", ""); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
122 if (!rv) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
123 goto error; |
|
24480
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
124 |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
125 input = PyString_AsString(rv); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
126 if (!input) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
127 goto error; |
|
24480
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
128 |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
129 strncpy(path, input, len - 1); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
130 path[len - 1] = '\0'; |
|
24480
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
131 |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
132 Py_XDECREF(rv); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
133 Py_XDECREF(fs); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
134 return err; |
|
24480
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
135 |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
136 error: |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
137 exc = PyErr_Occurred(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
138 if (exc && PyErr_GivenExceptionMatches(exc, |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
139 PyMac_GetOSErrException())) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
140 PyObject *args = PyObject_GetAttrString(exc, "args"); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
141 if (args) { |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
142 char *ignore; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
143 PyArg_ParseTuple(args, "is", &err, &ignore); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
144 Py_XDECREF(args); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
145 } |
|
24480
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
146 } |
|
33908
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
147 if (err == noErr) |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
148 err = -1; |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
149 PyErr_Clear(); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
150 Py_XDECREF(rv); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
151 Py_XDECREF(fs); |
|
7ed899b61182
SF patch #1035255: Remove CoreServices / CoreFoundation dependencies in core
Raymond Hettinger <python@rcn.com>
parents:
32689
diff
changeset
|
152 return err; |
|
24480
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
153 } |
|
03d85d197052
Added one call to Py_Main(), for OSX framework builds only, that will get the
Jack Jansen <jack.jansen@cwi.nl>
parents:
21178
diff
changeset
|
154 |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
155 /* Convert a 4-char string object argument to an OSType value */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
156 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
157 PyMac_GetOSType(PyObject *v, OSType *pr) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
158 { |
|
40053
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
159 int32_t tmp; |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
160 if (!PyString_Check(v) || PyString_Size(v) != 4) { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
161 PyErr_SetString(PyExc_TypeError, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
162 "OSType arg must be string of 4 chars"); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
163 return 0; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
164 } |
|
40053
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
165 memcpy((char *)&tmp, PyString_AsString(v), 4); |
|
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
166 *pr = (OSType)ntohl(tmp); |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
167 return 1; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
168 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
169 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
170 /* Convert an OSType value to a 4-char string object */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
171 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
172 PyMac_BuildOSType(OSType t) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
173 { |
|
40053
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
174 uint32_t tmp = htonl((uint32_t)t); |
|
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
175 return PyString_FromStringAndSize((char *)&tmp, 4); |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
176 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
177 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
178 /* Convert an NumVersion value to a 4-element tuple */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
179 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
180 PyMac_BuildNumVersion(NumVersion t) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
181 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
182 return Py_BuildValue("(hhhh)", t.majorRev, t.minorAndBugRev, t.stage, t.nonRelRev); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
183 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
184 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
185 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
186 /* Convert a Python string object to a Str255 */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
187 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
188 PyMac_GetStr255(PyObject *v, Str255 pbuf) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
189 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
190 int len; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
191 if (!PyString_Check(v) || (len = PyString_Size(v)) > 255) { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
192 PyErr_SetString(PyExc_TypeError, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
193 "Str255 arg must be string of at most 255 chars"); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
194 return 0; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
195 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
196 pbuf[0] = len; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
197 memcpy((char *)(pbuf+1), PyString_AsString(v), len); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
198 return 1; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
199 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
200 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
201 /* Convert a Str255 to a Python string object */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
202 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
203 PyMac_BuildStr255(Str255 s) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
204 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
205 if ( s == NULL ) { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
206 PyErr_SetString(PyExc_SystemError, "Str255 pointer is NULL"); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
207 return NULL; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
208 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
209 return PyString_FromStringAndSize((char *)&s[1], (int)s[0]); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
210 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
211 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
212 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
213 PyMac_BuildOptStr255(Str255 s) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
214 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
215 if ( s == NULL ) { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
216 Py_INCREF(Py_None); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
217 return Py_None; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
218 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
219 return PyString_FromStringAndSize((char *)&s[1], (int)s[0]); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
220 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
221 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
222 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
223 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
224 /* Convert a Python object to a Rect. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
225 The object must be a (left, top, right, bottom) tuple. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
226 (This differs from the order in the struct but is consistent with |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
227 the arguments to SetRect(), and also with STDWIN). */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
228 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
229 PyMac_GetRect(PyObject *v, Rect *r) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
230 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
231 return PyArg_Parse(v, "(hhhh)", &r->left, &r->top, &r->right, &r->bottom); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
232 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
233 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
234 /* Convert a Rect to a Python object */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
235 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
236 PyMac_BuildRect(Rect *r) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
237 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
238 return Py_BuildValue("(hhhh)", r->left, r->top, r->right, r->bottom); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
239 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
240 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
241 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
242 /* Convert a Python object to a Point. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
243 The object must be a (h, v) tuple. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
244 (This differs from the order in the struct but is consistent with |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
245 the arguments to SetPoint(), and also with STDWIN). */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
246 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
247 PyMac_GetPoint(PyObject *v, Point *p) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
248 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
249 return PyArg_Parse(v, "(hh)", &p->h, &p->v); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
250 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
251 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
252 /* Convert a Point to a Python object */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
253 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
254 PyMac_BuildPoint(Point p) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
255 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
256 return Py_BuildValue("(hh)", p.h, p.v); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
257 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
258 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
259 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
260 /* Convert a Python object to an EventRecord. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
261 The object must be a (what, message, when, (v, h), modifiers) tuple. */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
262 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
263 PyMac_GetEventRecord(PyObject *v, EventRecord *e) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
264 { |
|
28655
16f47bd431c4
Oops, 'k' is the new format code for un unchecked 32 bit quantity,
Jack Jansen <jack.jansen@cwi.nl>
parents:
28654
diff
changeset
|
265 return PyArg_Parse(v, "(Hkk(hh)H)", |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
266 &e->what, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
267 &e->message, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
268 &e->when, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
269 &e->where.h, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
270 &e->where.v, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
271 &e->modifiers); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
272 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
273 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
274 /* Convert a Rect to an EventRecord object */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
275 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
276 PyMac_BuildEventRecord(EventRecord *e) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
277 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
278 return Py_BuildValue("(hll(hh)h)", |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
279 e->what, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
280 e->message, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
281 e->when, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
282 e->where.h, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
283 e->where.v, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
284 e->modifiers); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
285 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
286 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
287 /* Convert Python object to Fixed */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
288 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
289 PyMac_GetFixed(PyObject *v, Fixed *f) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
290 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
291 double d; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
292 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
293 if( !PyArg_Parse(v, "d", &d)) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
294 return 0; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
295 *f = (Fixed)(d * 0x10000); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
296 return 1; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
297 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
298 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
299 /* Convert a Fixed to a Python object */ |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
300 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
301 PyMac_BuildFixed(Fixed f) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
302 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
303 double d; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
304 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
305 d = f; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
306 d = d / 0x10000; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
307 return Py_BuildValue("d", d); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
308 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
309 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
310 /* Convert wide to/from Python int or (hi, lo) tuple. XXXX Should use Python longs */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
311 int |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
312 PyMac_Getwide(PyObject *v, wide *rv) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
313 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
314 if (PyInt_Check(v)) { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
315 rv->hi = 0; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
316 rv->lo = PyInt_AsLong(v); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
317 if( rv->lo & 0x80000000 ) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
318 rv->hi = -1; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
319 return 1; |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
320 } |
|
28655
16f47bd431c4
Oops, 'k' is the new format code for un unchecked 32 bit quantity,
Jack Jansen <jack.jansen@cwi.nl>
parents:
28654
diff
changeset
|
321 return PyArg_Parse(v, "(kk)", &rv->hi, &rv->lo); |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
322 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
323 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
324 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
325 PyObject * |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
326 PyMac_Buildwide(wide *w) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
327 { |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
328 if ( (w->hi == 0 && (w->lo & 0x80000000) == 0) || |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
329 (w->hi == -1 && (w->lo & 0x80000000) ) ) |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
330 return PyInt_FromLong(w->lo); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
331 return Py_BuildValue("(ll)", w->hi, w->lo); |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
332 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
333 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
334 #ifdef USE_TOOLBOX_OBJECT_GLUE |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
335 /* |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
336 ** Glue together the toolbox objects. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
337 ** |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
338 ** Because toolbox modules interdepend on each other, they use each others |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
339 ** object types, on MacOSX/MachO this leads to the situation that they |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
340 ** cannot be dynamically loaded (or they would all have to be lumped into |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
341 ** a single .so, but this would be bad for extensibility). |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
342 ** |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
343 ** This file defines wrappers for all the _New and _Convert functions, |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
344 ** which are the Py_BuildValue and PyArg_ParseTuple helpers. The wrappers |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
345 ** check an indirection function pointer, and if it isn't filled in yet |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
346 ** they import the appropriate module, whose init routine should fill in |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
347 ** the pointer. |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
348 */ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
349 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
350 #define GLUE_NEW(object, routinename, module) \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
351 PyObject *(*PyMacGluePtr_##routinename)(object); \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
352 \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
353 PyObject *routinename(object cobj) { \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
354 if (!PyMacGluePtr_##routinename) { \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
355 if (!PyImport_ImportModule(module)) return NULL; \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
356 if (!PyMacGluePtr_##routinename) { \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
357 PyErr_SetString(PyExc_ImportError, "Module did not provide routine: " module ": " #routinename); \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
358 return NULL; \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
359 } \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
360 } \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
361 return (*PyMacGluePtr_##routinename)(cobj); \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
362 } |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
363 |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
364 #define GLUE_CONVERT(object, routinename, module) \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
365 int (*PyMacGluePtr_##routinename)(PyObject *, object *); \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
366 \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
367 int routinename(PyObject *pyobj, object *cobj) { \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
368 if (!PyMacGluePtr_##routinename) { \ |
|
40053
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
369 if (!PyImport_ImportModule(module)) return 0; \ |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
370 if (!PyMacGluePtr_##routinename) { \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
371 PyErr_SetString(PyExc_ImportError, "Module did not provide routine: " module ": " #routinename); \ |
|
40053
693ff5d73412
Port of universal binary support for Mac OSX from python 2.5. This takes away
Ronald Oussoren <ronaldoussoren@mac.com>
parents:
33908
diff
changeset
|
372 return 0; \ |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
373 } \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
374 } \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
375 return (*PyMacGluePtr_##routinename)(pyobj, cobj); \ |
|
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
376 } |
|
19645
d55b75ac2fb4
Added glue routine for PyMac_BuildFSSpec, PyMac_GetFSRef and PyMac_BuildFSRef.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19496
diff
changeset
|
377 |
|
28138
eb15de6a4a4c
Use Carbon.File for FSSpec and FSRef conversion, not macfs.
Jack Jansen <jack.jansen@cwi.nl>
parents:
27286
diff
changeset
|
378 GLUE_NEW(FSSpec *, PyMac_BuildFSSpec, "Carbon.File") |
|
eb15de6a4a4c
Use Carbon.File for FSSpec and FSRef conversion, not macfs.
Jack Jansen <jack.jansen@cwi.nl>
parents:
27286
diff
changeset
|
379 GLUE_CONVERT(FSSpec, PyMac_GetFSSpec, "Carbon.File") |
|
eb15de6a4a4c
Use Carbon.File for FSSpec and FSRef conversion, not macfs.
Jack Jansen <jack.jansen@cwi.nl>
parents:
27286
diff
changeset
|
380 GLUE_NEW(FSRef *, PyMac_BuildFSRef, "Carbon.File") |
|
eb15de6a4a4c
Use Carbon.File for FSSpec and FSRef conversion, not macfs.
Jack Jansen <jack.jansen@cwi.nl>
parents:
27286
diff
changeset
|
381 GLUE_CONVERT(FSRef, PyMac_GetFSRef, "Carbon.File") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
382 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
383 GLUE_NEW(AppleEvent *, AEDesc_New, "Carbon.AE") /* XXXX Why by address? */ |
|
27286
04e5610c5efe
It turns out that some calls return AEDesc records that are "borrowed",
Jack Jansen <jack.jansen@cwi.nl>
parents:
26764
diff
changeset
|
384 GLUE_NEW(AppleEvent *, AEDesc_NewBorrowed, "Carbon.AE") |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
385 GLUE_CONVERT(AppleEvent, AEDesc_Convert, "Carbon.AE") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
386 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
387 GLUE_NEW(Component, CmpObj_New, "Carbon.Cm") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
388 GLUE_CONVERT(Component, CmpObj_Convert, "Carbon.Cm") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
389 GLUE_NEW(ComponentInstance, CmpInstObj_New, "Carbon.Cm") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
390 GLUE_CONVERT(ComponentInstance, CmpInstObj_Convert, "Carbon.Cm") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
391 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
392 GLUE_NEW(ControlHandle, CtlObj_New, "Carbon.Ctl") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
393 GLUE_CONVERT(ControlHandle, CtlObj_Convert, "Carbon.Ctl") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
394 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
395 GLUE_NEW(DialogPtr, DlgObj_New, "Carbon.Dlg") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
396 GLUE_CONVERT(DialogPtr, DlgObj_Convert, "Carbon.Dlg") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
397 GLUE_NEW(DialogPtr, DlgObj_WhichDialog, "Carbon.Dlg") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
398 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
399 GLUE_NEW(DragReference, DragObj_New, "Carbon.Drag") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
400 GLUE_CONVERT(DragReference, DragObj_Convert, "Carbon.Drag") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
401 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
402 GLUE_NEW(ListHandle, ListObj_New, "Carbon.List") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
403 GLUE_CONVERT(ListHandle, ListObj_Convert, "Carbon.List") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
404 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
405 GLUE_NEW(MenuHandle, MenuObj_New, "Carbon.Menu") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
406 GLUE_CONVERT(MenuHandle, MenuObj_Convert, "Carbon.Menu") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
407 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
408 GLUE_NEW(GrafPtr, GrafObj_New, "Carbon.Qd") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
409 GLUE_CONVERT(GrafPtr, GrafObj_Convert, "Carbon.Qd") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
410 GLUE_NEW(BitMapPtr, BMObj_New, "Carbon.Qd") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
411 GLUE_CONVERT(BitMapPtr, BMObj_Convert, "Carbon.Qd") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
412 GLUE_NEW(RGBColor *, QdRGB_New, "Carbon.Qd") /* XXXX Why? */ |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
413 GLUE_CONVERT(RGBColor, QdRGB_Convert, "Carbon.Qd") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
414 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
415 GLUE_NEW(GWorldPtr, GWorldObj_New, "Carbon.Qdoffs") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
416 GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Carbon.Qdoffs") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
417 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
418 GLUE_NEW(Track, TrackObj_New, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
419 GLUE_CONVERT(Track, TrackObj_Convert, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
420 GLUE_NEW(Movie, MovieObj_New, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
421 GLUE_CONVERT(Movie, MovieObj_Convert, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
422 GLUE_NEW(MovieController, MovieCtlObj_New, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
423 GLUE_CONVERT(MovieController, MovieCtlObj_Convert, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
424 GLUE_NEW(TimeBase, TimeBaseObj_New, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
425 GLUE_CONVERT(TimeBase, TimeBaseObj_Convert, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
426 GLUE_NEW(UserData, UserDataObj_New, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
427 GLUE_CONVERT(UserData, UserDataObj_Convert, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
428 GLUE_NEW(Media, MediaObj_New, "Carbon.Qt") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
429 GLUE_CONVERT(Media, MediaObj_Convert, "Carbon.Qt") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
430 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
431 GLUE_NEW(Handle, ResObj_New, "Carbon.Res") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
432 GLUE_CONVERT(Handle, ResObj_Convert, "Carbon.Res") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
433 GLUE_NEW(Handle, OptResObj_New, "Carbon.Res") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
434 GLUE_CONVERT(Handle, OptResObj_Convert, "Carbon.Res") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
435 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
436 GLUE_NEW(TEHandle, TEObj_New, "Carbon.TE") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
437 GLUE_CONVERT(TEHandle, TEObj_Convert, "Carbon.TE") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
438 |
|
19496
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
439 GLUE_NEW(WindowPtr, WinObj_New, "Carbon.Win") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
440 GLUE_CONVERT(WindowPtr, WinObj_Convert, "Carbon.Win") |
|
617555579611
Refer to the toolbox modules by their official name (Carbon.AE), not the internal name (_AE). This can slow things down (once) but it's the only way I can get things to work on OSX, OS9 dynamically loaded and OS9 frozen.
Jack Jansen <jack.jansen@cwi.nl>
parents:
19442
diff
changeset
|
441 GLUE_NEW(WindowPtr, WinObj_WhichWindow, "Carbon.Win") |
|
19064
e57a4614469e
Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
442 |
|
29279
b372b903d10e
Added functions CFObj_New and CFObj_Convert, general functions to convert
Jack Jansen <jack.jansen@cwi.nl>
parents:
28655
diff
changeset
|
443 GLUE_CONVERT(CFTypeRef, CFObj_Convert, "Carbon.CF") |
|
b372b903d10e
Added functions CFObj_New and CFObj_Convert, general functions to convert
Jack Jansen <jack.jansen@cwi.nl>
parents:
28655
diff
changeset
|
444 GLUE_NEW(CFTypeRef, CFObj_New, "Carbon.CF") |
|
b372b903d10e
Added functions CFObj_New and CFObj_Convert, general functions to convert
Jack Jansen <jack.jansen@cwi.nl>
parents:
28655
diff
changeset
|
445 |
|
20877
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
446 GLUE_CONVERT(CFTypeRef, CFTypeRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
447 GLUE_NEW(CFTypeRef, CFTypeRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
448 |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
449 GLUE_CONVERT(CFStringRef, CFStringRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
450 GLUE_NEW(CFStringRef, CFStringRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
451 GLUE_CONVERT(CFMutableStringRef, CFMutableStringRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
452 GLUE_NEW(CFMutableStringRef, CFMutableStringRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
453 |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
454 GLUE_CONVERT(CFArrayRef, CFArrayRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
455 GLUE_NEW(CFArrayRef, CFArrayRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
456 GLUE_CONVERT(CFMutableArrayRef, CFMutableArrayRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
457 GLUE_NEW(CFMutableArrayRef, CFMutableArrayRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
458 |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
459 GLUE_CONVERT(CFDictionaryRef, CFDictionaryRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
460 GLUE_NEW(CFDictionaryRef, CFDictionaryRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
461 GLUE_CONVERT(CFMutableDictionaryRef, CFMutableDictionaryRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
462 GLUE_NEW(CFMutableDictionaryRef, CFMutableDictionaryRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
463 |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
464 GLUE_CONVERT(CFURLRef, CFURLRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
465 GLUE_CONVERT(CFURLRef, OptionalCFURLRefObj_Convert, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
466 GLUE_NEW(CFURLRef, CFURLRefObj_New, "Carbon.CF") |
|
d54e294484b2
Make the CoreFoundation object _New and _Convert routines available to other modules. Idea by Donovan Preston, implementaion by me.
Jack Jansen <jack.jansen@cwi.nl>
parents:
20789
diff
changeset
|
467 |
| 26134 | 468 #endif /* USE_TOOLBOX_OBJECT_GLUE */ |
