[Python-checkins] python/dist/src/Mac/Modules/file _Filemodule.c,1.14,1.15 filesupport.py,1.13,1.14
jackjansen@users.sourceforge.net
jackjansen@users.sourceforge.net
Sun, 26 Jan 2003 12:22:44 -0800
Update of /cvsroot/python/python/dist/src/Mac/Modules/file
In directory sc8-pr-cvs1:/tmp/cvs-serv26764
Modified Files:
_Filemodule.c filesupport.py
Log Message:
FSRef and EasyDialogs pathname support was pretty much broken in MacPython-OS9. Fixed.
Index: _Filemodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/file/_Filemodule.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** _Filemodule.c 19 Jan 2003 22:59:52 -0000 1.14
--- _Filemodule.c 26 Jan 2003 20:22:40 -0000 1.15
***************
*** 1841,1845 ****
--- 1841,1864 ----
PyObject *_res = NULL;
+ #if TARGET_API_MAC_OSX
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
_res = FSRef_FSRefMakePath(_self, _args);
+ #else
+ char strbuf[1024];
+ OSErr err;
+ FSSpec fss;
+
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ if ( !PyMac_GetFSSpec((PyObject *)_self, &fss))
+ return NULL;
+ err = PyMac_GetFullPathname(&fss, strbuf, sizeof(strbuf));
+ if ( err ) {
+ PyMac_Error(err);
+ return NULL;
+ }
+ _res = PyString_FromString(strbuf);
+ #endif
return _res;
***************
*** 3191,3194 ****
--- 3210,3214 ----
{
OSStatus err;
+ FSSpec fss;
if (FSRef_Check(v)) {
***************
*** 3209,3214 ****
#endif
/* Otherwise we try to go via an FSSpec */
if (FSSpec_Check(v)) {
! if ((err=FSpMakeFSRef(&((FSSpecObject *)v)->ob_itself, fsr)) == 0)
return 1;
PyMac_Error(err);
--- 3229,3239 ----
#endif
/* Otherwise we try to go via an FSSpec */
+ #if TARGET_API_MAC_OSX
if (FSSpec_Check(v)) {
! fss = ((FSSpecObject *)v)->ob_itself;
! #else
! if (PyMac_GetFSSpec(v, &fss)) {
! #endif
! if ((err=FSpMakeFSRef(&fss, fsr)) == 0)
return 1;
PyMac_Error(err);
Index: filesupport.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/file/filesupport.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** filesupport.py 19 Jan 2003 22:59:52 -0000 1.13
--- filesupport.py 26 Jan 2003 20:22:41 -0000 1.14
***************
*** 272,275 ****
--- 272,276 ----
{
OSStatus err;
+ FSSpec fss;
if (FSRef_Check(v)) {
***************
*** 290,295 ****
#endif
/* Otherwise we try to go via an FSSpec */
if (FSSpec_Check(v)) {
! if ((err=FSpMakeFSRef(&((FSSpecObject *)v)->ob_itself, fsr)) == 0)
return 1;
PyMac_Error(err);
--- 291,301 ----
#endif
/* Otherwise we try to go via an FSSpec */
+ #if TARGET_API_MAC_OSX
if (FSSpec_Check(v)) {
! fss = ((FSSpecObject *)v)->ob_itself;
! #else
! if (PyMac_GetFSSpec(v, &fss)) {
! #endif
! if ((err=FSpMakeFSRef(&fss, fsr)) == 0)
return 1;
PyMac_Error(err);
***************
*** 809,813 ****
--- 815,838 ----
FSRef_as_pathname_body = """
+ #if TARGET_API_MAC_OSX
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
_res = FSRef_FSRefMakePath(_self, _args);
+ #else
+ char strbuf[1024];
+ OSErr err;
+ FSSpec fss;
+
+ if (!PyArg_ParseTuple(_args, ""))
+ return NULL;
+ if ( !PyMac_GetFSSpec((PyObject *)_self, &fss))
+ return NULL;
+ err = PyMac_GetFullPathname(&fss, strbuf, sizeof(strbuf));
+ if ( err ) {
+ PyMac_Error(err);
+ return NULL;
+ }
+ _res = PyString_FromString(strbuf);
+ #endif
return _res;
"""