Mercurial > cpython-lru_cache-weakref
diff Mac/Python/macglue.c @ 2183:62bdded5f00a legacy-trunk
modernized/rationalized, added PyMac_BuildOSType
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 18 Jan 1995 23:57:26 +0000 |
| parents | 1e9e74944bb5 |
| children | 4053d4cb50e0 |
line wrap: on
line diff
--- a/Mac/Python/macglue.c Wed Jan 18 23:46:59 1995 +0000 +++ b/Mac/Python/macglue.c Wed Jan 18 23:57:26 1995 +0000 @@ -63,10 +63,12 @@ char *msg; PyObject *v; - if (err == 0) { + if (err == 0 && !PyErr_Occurred()) { Py_INCREF(Py_None); return Py_None; } + if (err == -1 && PyErr_Occurred()) + return NULL; msg = macstrerror(err); v = Py_BuildValue("(is)", err, msg); PyErr_SetObject(eobj, v); @@ -102,7 +104,7 @@ /* Convert a ResType argument */ int -GetOSType(PyObject *v, ResType *pr) +PyMac_GetOSType(PyObject *v, ResType *pr) { if (!PyString_Check(v) || PyString_Size(v) != 4) { PyErr_SetString(PyExc_TypeError, @@ -115,7 +117,7 @@ /* Convert a Str255 argument */ int -GetStr255(PyObject *v, Str255 pbuf) +PyMac_GetStr255(PyObject *v, Str255 pbuf) { int len; if (!PyString_Check(v) || (len = PyString_Size(v)) > 255) { @@ -136,7 +138,7 @@ ** this is probably sys7 dependent anyway). */ int -GetFSSpec(PyObject *v, FSSpec *fs) +PyMac_GetFSSpec(PyObject *v, FSSpec *fs) { Str255 path; short refnum; @@ -172,3 +174,10 @@ { return Py_BuildValue("(iis#)", fs->vRefNum, fs->parID, &fs->name[1], fs->name[0]); } + +/* Convert an OSType value to a 4-char string object */ +PyObject * +PyMac_BuildOSType(OSType t) +{ + return PyString_FromStringAndSize((char *)&t, 4); +}
