int PyMac_GetFSSpec Py_PROTO((PyObject *, FSSpec *)); /* argument parser for FSSpec */
PyObject *PyMac_BuildFSSpec Py_PROTO((FSSpec *)); /* Convert FSSpec to PyObject */
PyObject *PyMac_BuildOSType Py_PROTO((OSType)); /* Convert OSType to PyObject */
-
-#define GetOSType PyMac_GetOSType
-#define GetStr255 PyMac_GetStr255
-#define GetFSSpec PyMac_GetFSSpec
extern void initdl();
extern void initsyslog();
extern void initgestalt();
-#ifdef THINK_C
extern void initmacconsole();
-#endif
extern void initctb();
+extern void initmacfs();
extern void initmacspeech();
extern void initmacdnr();
extern void initmactcp();
{"macconsole", initmacconsole},
#endif
{"ctb", initctb},
+ {"macfs", initmacfs},
#ifdef __MWERKS__
/* This is really "Jack Jansen" specific for now :-) */
{"macspeech", initmacspeech},
FSSpec src, dst, *dstptr;
src.name[0] = 0;
- if (!newgetargs(args, "O&|O&", GetFSSpec, &dst, GetFSSpec, &src))
+ if (!newgetargs(args, "O&|O&", PyMac_GetFSSpec, &dst, PyMac_GetFSSpec, &src))
return NULL;
/* XXXX */
StandardFileReply reply;
dft[0] = 0;
- if (!newgetargs(args, "O&|O&", GetStr255, &prompt, GetStr255, &dft) )
+ if (!newgetargs(args, "O&|O&", PyMac_GetStr255, &prompt, PyMac_GetStr255, &dft) )
return NULL;
StandardPutFile(prompt, dft, &reply);
return mkvalue("(iO)", reply.sfGood, PyMac_BuildFSSpec(&reply.sfFile));
{
FSSpec fss;
- if (!newgetargs(args, "O&", GetFSSpec, &fss))
+ if (!newgetargs(args, "O&", PyMac_GetFSSpec, &fss))
return NULL;
return PyMac_BuildFSSpec(&fss);
}
char strbuf[257];
OSErr err;
- if (!newgetargs(args, "O&", GetFSSpec, &fss))
+ if (!newgetargs(args, "O&", PyMac_GetFSSpec, &fss))
return NULL;
err = nfullpath(&fss, strbuf);
if ( err ) {
ResType rt;
int id;
Handle h;
- if (!PyArg_ParseTuple(args, "O&i", GetOSType, &rt, &id))
+ if (!PyArg_ParseTuple(args, "O&i", PyMac_GetOSType, &rt, &id))
return NULL;
h = GetResource(rt, id);
return (PyObject *)Rsrc_FromHandle(h);
ResType rt;
Str255 name;
Handle h;
- if (!PyArg_ParseTuple(args, "O&O&", GetOSType, &rt, GetStr255, &name))
+ if (!PyArg_ParseTuple(args, "O&O&", PyMac_GetOSType, &rt, PyMac_GetStr255, &name))
return NULL;
h = GetNamedResource(rt, name);
return (PyObject *)Rsrc_FromHandle(h);
PyObject *type, *creator, *res;
OSErr err;
- if (!PyArg_ParseTuple(args, "O&", GetStr255, &name))
+ if (!PyArg_ParseTuple(args, "O&", PyMac_GetStr255, &name))
return NULL;
if ((err = GetFInfo(name, 0, &info)) != noErr) {
errno = err;
OSErr err;
if (!PyArg_ParseTuple(args, "O&O&O&",
- GetStr255, &name, GetOSType, &type, GetOSType, &creator))
+ PyMac_GetStr255, &name, PyMac_GetOSType, &type, PyMac_GetOSType, &creator))
return NULL;
if ((err = GetFInfo(name, 0, &info)) != noErr) {
errno = err;
int len;
len = strlen(str);
+ if (len > 255)
+ len = 255;
buf[0] = (unsigned char)len;
strncpy((char *)buf+1, str, len);
return buf;
if ( PyString_Check(v) ) {
/* It's a pathname */
- if( !PyArg_Parse(v, "O&", GetStr255, &path) )
+ if( !PyArg_Parse(v, "O&", PyMac_GetStr255, &path) )
return 0;
refnum = 0; /* XXXX Should get CurWD here... */
parid = 0;
} else {
- PyErr_Clear();
- if( !PyArg_Parse(v, "(hlO&); FSSpec should be fullpath or (int,int,string)",
- &refnum, &parid, GetStr255, &path))
+ if( !PyArg_Parse(v, "(hlO&); FSSpec should be fullpath or (vrefnum,dirid,path)",
+ &refnum, &parid, PyMac_GetStr255, &path)) {
return 0;
+ }
}
err = FSMakeFSSpec(refnum, parid, path, fs);
if ( err && err != fnfErr ) {
- PyErr_SetString(PyExc_TypeError,
- "FSMakeFSSpec error");
+ PyErr_Mac(PyExc_ValueError, err);
return 0;
}
return 1;