[Python-checkins] CVS: python/dist/src/Python bltinmodule.c,2.240,2.241

Guido van Rossum gvanrossum@users.sourceforge.net
2001年10月16日 14:31:34 -0700


Update of /cvsroot/python/python/dist/src/Python
In directory usw-pr-cvs1:/tmp/cvs-serv3352
Modified Files:
	bltinmodule.c 
Log Message:
SF patch #471852 (anonymous) notes that getattr(obj, name, default)
masks any exception, not just AttributeError. Fix this.
Index: bltinmodule.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/bltinmodule.c,v
retrieving revision 2.240
retrieving revision 2.241
diff -C2 -d -r2.240 -r2.241
*** bltinmodule.c	2001年10月07日 20:54:12	2.240
--- bltinmodule.c	2001年10月16日 21:31:32	2.241
***************
*** 620,624 ****
 	}
 	result = PyObject_GetAttr(v, name);
! 	if (result == NULL && dflt != NULL) {
 		PyErr_Clear();
 		Py_INCREF(dflt);
--- 620,626 ----
 	}
 	result = PyObject_GetAttr(v, name);
! 	if (result == NULL && dflt != NULL &&
! 	 PyErr_ExceptionMatches(PyExc_AttributeError))
! 	{
 		PyErr_Clear();
 		Py_INCREF(dflt);

AltStyle によって変換されたページ (->オリジナル) /