[Python-checkins] CVS: python/dist/src/Objects descrobject.c,2.1,2.2 typeobject.c,2.33,2.34

Guido van Rossum gvanrossum@users.sourceforge.net
2001年8月16日 01:27:35 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv1636/Objects
Modified Files:
	descrobject.c typeobject.c 
Log Message:
Subtle change to make None.__class__ work:
- descrobject.c:descr_check(): only believe None means the same as
 NULL if the type given is None's type.
- typeobject.c:wrap_descr_get(): don't "conventiently" default an
 absent type to the type of the object argument. Let the called
 function figure it out.
Index: descrobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/descrobject.c,v
retrieving revision 2.1
retrieving revision 2.2
diff -C2 -d -r2.1 -r2.2
*** descrobject.c	2001年08月02日 04:15:00	2.1
--- descrobject.c	2001年08月16日 08:27:33	2.2
***************
*** 92,98 ****
 static int
 descr_check(PyDescrObject *descr, PyObject *obj, PyTypeObject *type,
! 	 PyObject **pres)
 {
! 	if (obj == NULL || obj == Py_None) {
 		Py_INCREF(descr);
 		*pres = (PyObject *)descr;
--- 92,98 ----
 static int
 descr_check(PyDescrObject *descr, PyObject *obj, PyTypeObject *type,
! 	 PyObject **pres)
 {
! 	if (obj == NULL || (obj == Py_None && type != Py_None->ob_type)) {
 		Py_INCREF(descr);
 		*pres = (PyObject *)descr;
Index: typeobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/typeobject.c,v
retrieving revision 2.33
retrieving revision 2.34
diff -C2 -d -r2.33 -r2.34
*** typeobject.c	2001年08月15日 23:57:02	2.33
--- typeobject.c	2001年08月16日 08:27:33	2.34
***************
*** 1863,1868 ****
 	if (!PyArg_ParseTuple(args, "O|O", &obj, &type))
 		return NULL;
- 	if (type == NULL)
- 		type = (PyObject *)obj->ob_type;
 	return (*func)(self, obj, type);
 }
--- 1863,1866 ----

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