[Python-checkins] CVS: python/dist/src/Mac/Modules/res _Resmodule.c,1.9,1.10 ressupport.py,1.19,1.20

Jack Jansen jackjansen@users.sourceforge.net
Mon, 18 Mar 2002 07:31:10 -0800


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

Modified Files:
	_Resmodule.c ressupport.py 
Log Message:
Some of the newer routines return an OSErr, like most toolbox calls, in stead of depending on ResError(). Second half of fix for #531291.

2.2.1 candidate.

Index: _Resmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/res/_Resmodule.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** _Resmodule.c	4 Jan 2002 16:00:19 -0000	1.9
--- _Resmodule.c	18 Mar 2002 15:31:07 -0000	1.10
***************
*** 629,642 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	if (!PyArg_ParseTuple(_args, ""))
  		return NULL;
! 	_rv = ResError();
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("h",
! 	                     _rv);
  	return _res;
  }
--- 629,639 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	if (!PyArg_ParseTuple(_args, ""))
  		return NULL;
! 	_err = ResError();
! 	if (_err != noErr) return PyMac_Error(_err);
! 	Py_INCREF(Py_None);
! 	_res = Py_None;
  	return _res;
  }
***************
*** 1223,1227 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	SInt16 refNum;
  	RsrcChainLocation where;
--- 1220,1224 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	SInt16 refNum;
  	RsrcChainLocation where;
***************
*** 1230,1241 ****
  	                      &where))
  		return NULL;
! 	_rv = InsertResourceFile(refNum,
! 	                         where);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("h",
! 	                     _rv);
  	return _res;
  }
--- 1227,1235 ----
  	                      &where))
  		return NULL;
! 	_err = InsertResourceFile(refNum,
! 	                          where);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	Py_INCREF(Py_None);
! 	_res = Py_None;
  	return _res;
  }
***************
*** 1247,1262 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	SInt16 refNum;
  	if (!PyArg_ParseTuple(_args, "h",
  	                      &refNum))
  		return NULL;
! 	_rv = DetachResourceFile(refNum);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("h",
! 	                     _rv);
  	return _res;
  }
--- 1241,1253 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	SInt16 refNum;
  	if (!PyArg_ParseTuple(_args, "h",
  	                      &refNum))
  		return NULL;
! 	_err = DetachResourceFile(refNum);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	Py_INCREF(Py_None);
! 	_res = Py_None;
  	return _res;
  }
***************
*** 1295,1299 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	FSSpec spec;
  	SignedByte permission;
--- 1286,1290 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	FSSpec spec;
  	SignedByte permission;
***************
*** 1303,1315 ****
  	                      &permission))
  		return NULL;
! 	_rv = FSpOpenOrphanResFile(&spec,
! 	                           permission,
! 	                           &refNum);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("hh",
! 	                     _rv,
  	                     refNum);
  	return _res;
--- 1294,1302 ----
  	                      &permission))
  		return NULL;
! 	_err = FSpOpenOrphanResFile(&spec,
! 	                            permission,
! 	                            &refNum);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	_res = Py_BuildValue("h",
  	                     refNum);
  	return _res;
***************
*** 1322,1336 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	SInt16 refNum;
  	if (!PyArg_ParseTuple(_args, ""))
  		return NULL;
! 	_rv = GetTopResourceFile(&refNum);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("hh",
! 	                     _rv,
  	                     refNum);
  	return _res;
--- 1309,1319 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	SInt16 refNum;
  	if (!PyArg_ParseTuple(_args, ""))
  		return NULL;
! 	_err = GetTopResourceFile(&refNum);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	_res = Py_BuildValue("h",
  	                     refNum);
  	return _res;
***************
*** 1343,1347 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	SInt16 curRefNum;
  	SInt16 nextRefNum;
--- 1326,1330 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	SInt16 curRefNum;
  	SInt16 nextRefNum;
***************
*** 1349,1360 ****
  	                      &curRefNum))
  		return NULL;
! 	_rv = GetNextResourceFile(curRefNum,
! 	                          &nextRefNum);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("hh",
! 	                     _rv,
  	                     nextRefNum);
  	return _res;
--- 1332,1339 ----
  	                      &curRefNum))
  		return NULL;
! 	_err = GetNextResourceFile(curRefNum,
! 	                           &nextRefNum);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	_res = Py_BuildValue("h",
  	                     nextRefNum);
  	return _res;
***************
*** 1408,1413 ****
  	}
  	_res = Py_BuildValue("O&O&",
! 	                     PyMac_BuildFSRef, newRef,
! 	                     PyMac_BuildFSSpec, newSpec);
  	return _res;
  }
--- 1387,1392 ----
  	}
  	_res = Py_BuildValue("O&O&",
! 	                     PyMac_BuildFSRef, &newRef,
! 	                     PyMac_BuildFSSpec, &newSpec);
  	return _res;
  }
***************
*** 1442,1446 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	FSRef parentRef;
  	UniChar *nameLength__in__;
--- 1421,1425 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	FSRef parentRef;
  	UniChar *nameLength__in__;
***************
*** 1459,1477 ****
  	nameLength__len__ = nameLength__in_len__;
  	forkNameLength__len__ = forkNameLength__in_len__;
! 	_rv = FSCreateResourceFile(&parentRef,
! 	                           nameLength__len__, nameLength__in__,
! 	                           0,
! 	                           (FSCatalogInfo *)0,
! 	                           forkNameLength__len__, forkNameLength__in__,
! 	                           &newRef,
! 	                           &newSpec);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("hO&O&",
! 	                     _rv,
! 	                     PyMac_BuildFSRef, newRef,
! 	                     PyMac_BuildFSSpec, newSpec);
  	return _res;
  }
--- 1438,1452 ----
  	nameLength__len__ = nameLength__in_len__;
  	forkNameLength__len__ = forkNameLength__in_len__;
! 	_err = FSCreateResourceFile(&parentRef,
! 	                            nameLength__len__, nameLength__in__,
! 	                            0,
! 	                            (FSCatalogInfo *)0,
! 	                            forkNameLength__len__, forkNameLength__in__,
! 	                            &newRef,
! 	                            &newSpec);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	_res = Py_BuildValue("O&O&",
! 	                     PyMac_BuildFSRef, &newRef,
! 	                     PyMac_BuildFSSpec, &newSpec);
  	return _res;
  }
***************
*** 1483,1487 ****
  {
  	PyObject *_res = NULL;
! 	OSErr _rv;
  	FSRef ref;
  	UniChar *forkNameLength__in__;
--- 1458,1462 ----
  {
  	PyObject *_res = NULL;
! 	OSErr _err;
  	FSRef ref;
  	UniChar *forkNameLength__in__;
***************
*** 1496,1509 ****
  		return NULL;
  	forkNameLength__len__ = forkNameLength__in_len__;
! 	_rv = FSOpenResourceFile(&ref,
! 	                         forkNameLength__len__, forkNameLength__in__,
! 	                         permissions,
! 	                         &refNum);
! 	{
! 		OSErr _err = ResError();
! 		if (_err != noErr) return PyMac_Error(_err);
! 	}
! 	_res = Py_BuildValue("hh",
! 	                     _rv,
  	                     refNum);
  	return _res;
--- 1471,1480 ----
  		return NULL;
  	forkNameLength__len__ = forkNameLength__in_len__;
! 	_err = FSOpenResourceFile(&ref,
! 	                          forkNameLength__len__, forkNameLength__in__,
! 	                          permissions,
! 	                          &refNum);
! 	if (_err != noErr) return PyMac_Error(_err);
! 	_res = Py_BuildValue("h",
  	                     refNum);
  	return _res;
***************
*** 1574,1578 ****
  	 "(short refNum) -> None"},
  	{"ResError", (PyCFunction)Res_ResError, 1,
! 	 "() -> (OSErr _rv)"},
  	{"CurResFile", (PyCFunction)Res_CurResFile, 1,
  	 "() -> (short _rv)"},
--- 1545,1549 ----
  	 "(short refNum) -> None"},
  	{"ResError", (PyCFunction)Res_ResError, 1,
! 	 "() -> None"},
  	{"CurResFile", (PyCFunction)Res_CurResFile, 1,
  	 "() -> (short _rv)"},
***************
*** 1645,1654 ****
  #if TARGET_API_MAC_CARBON
  	{"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1,
! 	 "(SInt16 refNum, RsrcChainLocation where) -> (OSErr _rv)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1,
! 	 "(SInt16 refNum) -> (OSErr _rv)"},
  #endif
  
--- 1616,1625 ----
  #if TARGET_API_MAC_CARBON
  	{"InsertResourceFile", (PyCFunction)Res_InsertResourceFile, 1,
! 	 "(SInt16 refNum, RsrcChainLocation where) -> None"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"DetachResourceFile", (PyCFunction)Res_DetachResourceFile, 1,
! 	 "(SInt16 refNum) -> None"},
  #endif
  
***************
*** 1660,1674 ****
  #if TARGET_API_MAC_CARBON
  	{"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1,
! 	 "(FSSpec spec, SignedByte permission) -> (OSErr _rv, SInt16 refNum)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"GetTopResourceFile", (PyCFunction)Res_GetTopResourceFile, 1,
! 	 "() -> (OSErr _rv, SInt16 refNum)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1,
! 	 "(SInt16 curRefNum) -> (OSErr _rv, SInt16 nextRefNum)"},
  #endif
  	{"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1,
--- 1631,1645 ----
  #if TARGET_API_MAC_CARBON
  	{"FSpOpenOrphanResFile", (PyCFunction)Res_FSpOpenOrphanResFile, 1,
! 	 "(FSSpec spec, SignedByte permission) -> (SInt16 refNum)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"GetTopResourceFile", (PyCFunction)Res_GetTopResourceFile, 1,
! 	 "() -> (SInt16 refNum)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"GetNextResourceFile", (PyCFunction)Res_GetNextResourceFile, 1,
! 	 "(SInt16 curRefNum) -> (SInt16 nextRefNum)"},
  #endif
  	{"FSOpenResFile", (PyCFunction)Res_FSOpenResFile, 1,
***************
*** 1681,1690 ****
  #if TARGET_API_MAC_CARBON
  	{"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1,
! 	 "(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (OSErr _rv, FSRef newRef, FSSpec newSpec)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1,
! 	 "(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (OSErr _rv, SInt16 refNum)"},
  #endif
  	{"Resource", (PyCFunction)Res_Resource, 1,
--- 1652,1661 ----
  #if TARGET_API_MAC_CARBON
  	{"FSCreateResourceFile", (PyCFunction)Res_FSCreateResourceFile, 1,
! 	 "(FSRef parentRef, Buffer nameLength, Buffer forkNameLength) -> (FSRef newRef, FSSpec newSpec)"},
  #endif
  
  #if TARGET_API_MAC_CARBON
  	{"FSOpenResourceFile", (PyCFunction)Res_FSOpenResourceFile, 1,
! 	 "(FSRef ref, Buffer forkNameLength, SignedByte permissions) -> (SInt16 refNum)"},
  #endif
  	{"Resource", (PyCFunction)Res_Resource, 1,

Index: ressupport.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Mac/Modules/res/ressupport.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** ressupport.py	1 Jan 2002 22:43:07 -0000	1.19
--- ressupport.py	18 Mar 2002 15:31:08 -0000	1.20
***************
*** 9,20 ****
  
  	def checkit(self):
! 		OutLbrace()
! 		Output("OSErr _err = ResError();")
! 		Output("if (_err != noErr) return PyMac_Error(_err);")
! 		OutRbrace()
  		FunctionGenerator.checkit(self) # XXX
  
! class ResFunction(ResMixIn, FunctionGenerator): pass
! class ResMethod(ResMixIn, MethodGenerator): pass
  
  RsrcChainLocation = Type("RsrcChainLocation", "h")
--- 9,21 ----
  
  	def checkit(self):
! 		if self.returntype.__class__ != OSErrType:
! 			OutLbrace()
! 			Output("OSErr _err = ResError();")
! 			Output("if (_err != noErr) return PyMac_Error(_err);")
! 			OutRbrace()
  		FunctionGenerator.checkit(self) # XXX
  
! class ResFunction(ResMixIn, OSErrFunctionGenerator): pass
! class ResMethod(ResMixIn, OSErrMethodGenerator): pass
  
  RsrcChainLocation = Type("RsrcChainLocation", "h")