summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2001-08-16 08:27:33 (GMT)
committerGuido van Rossum <guido@python.org>2001-08-16 08:27:33 (GMT)
commit8098ddbe814325c7869f7d63aa102019b353c6b6 (patch)
tree929d7350b692aacd2d04466ace7f52e7f89d0837
parentf6309e8ecf293f5dbab031b1b8068771d5ac9a8f (diff)
downloadcpython-8098ddbe814325c7869f7d63aa102019b353c6b6.zip
cpython-8098ddbe814325c7869f7d63aa102019b353c6b6.tar.gz
cpython-8098ddbe814325c7869f7d63aa102019b353c6b6.tar.bz2
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.
-rw-r--r--Objects/descrobject.c4
-rw-r--r--Objects/typeobject.c2
2 files changed, 2 insertions, 4 deletions
diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index 40629f6..a2ecde5 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -91,9 +91,9 @@ wrapper_repr(PyWrapperDescrObject *descr)
static int
descr_check(PyDescrObject *descr, PyObject *obj, PyTypeObject *type,
- PyObject **pres)
+ PyObject **pres)
{
- if (obj == NULL || obj == Py_None) {
+ if (obj == NULL || (obj == Py_None && type != Py_None->ob_type)) {
Py_INCREF(descr);
*pres = (PyObject *)descr;
return 1;
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 8103205..30e693a 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -1862,8 +1862,6 @@ wrap_descr_get(PyObject *self, PyObject *args, void *wrapped)
if (!PyArg_ParseTuple(args, "O|O", &obj, &type))
return NULL;
- if (type == NULL)
- type = (PyObject *)obj->ob_type;
return (*func)(self, obj, type);
}