[Python-checkins] CVS: python/dist/src/Mac/Modules macfsmodule.c,1.38,1.39

Jack Jansen jackjansen@users.sourceforge.net
Fri, 03 Aug 2001 08:39:29 -0700


Update of /cvsroot/python/python/dist/src/Mac/Modules
In directory usw-pr-cvs1:/tmp/cvs-serv20528/Modules

Modified Files:
	macfsmodule.c 
Log Message:
PyMac_GetFSSpec must be called via the dylib glue code on OSX.


Index: macfsmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/macfsmodule.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** macfsmodule.c	2001/08/03 13:31:36	1.38
--- macfsmodule.c	2001/08/03 15:39:27	1.39
***************
*** 25,28 ****
--- 25,29 ----
  #include "Python.h"
  #include "macglue.h"
+ #include "pymactoolbox.h"
  
  #ifdef WITHOUT_FRAMEWORKS
***************
*** 38,43 ****
  
  #include "getapplbycreator.h"
- 
  
  static PyObject *ErrorObject;
  
--- 39,47 ----
  
  #include "getapplbycreator.h"
  
+ #ifdef USE_TOOLBOX_OBJECT_GLUE
+ extern int _PyMac_GetFSSpec(PyObject *, FSSpec *);
+ #define PyMac_GetFSSpec _PyMac_GetFSSpec
+ #endif
  static PyObject *ErrorObject;
  
***************
*** 1202,1207 ****
--- 1206,1220 ----
  		return 1;
  	if ( PyString_Check(v) ) {
+ #if TARGET_API_MAC_OSX
+ 		OSStatus err;
+ 		if ( (err=FSPathMakeRef(PyString_AsString(v), fsr, NULL)) ) {
+ 			PyErr_Mac(ErrorObject, err);
+ 			return 0;
+ 		}
+ 		return 1;
+ #else
  		PyErr_SetString(PyExc_NotImplementedError, "Cannot create an FSRef from a pathname on this platform");
  		return 0;
+ #endif
  	}
  	PyErr_SetString(PyExc_TypeError, "FSRef argument should be existing FSRef, FSSpec or (OSX only) pathname");
***************
*** 1270,1273 ****
--- 1283,1288 ----
  {
  	PyObject *m, *d;
+ 
+ 		PyMac_INIT_TOOLBOX_OBJECT_CONVERT(Handle, PyMac_GetFSSpec);
  
  	/* Create the module and add the functions */