diff options
author | Walter Dörwald <walter@livinglogic.de> | 2002-12-12 19:14:08 +0000 |
---|---|---|
committer | Walter Dörwald <walter@livinglogic.de> | 2002-12-12 19:14:08 +0000 |
commit | 7e5c6a02eba1a6f5e93bfa1241ceff39bec9f3c9 (patch) | |
tree | 503cd8986a6ced722156e1e4eda5accd6e8bc9e8 /Objects/classobject.c | |
parent | Mention the bdist_wininst postinstall script. (diff) | |
download | cpython-7e5c6a02eba1a6f5e93bfa1241ceff39bec9f3c9.tar.gz cpython-7e5c6a02eba1a6f5e93bfa1241ceff39bec9f3c9.tar.bz2 cpython-7e5c6a02eba1a6f5e93bfa1241ceff39bec9f3c9.zip |
Change issubclass() so that recursive tuples (directly or indirectly
containing class objects) are allowed as the second argument.
This makes issubclass() more similar to isinstance() where recursive
tuples are allowed too.
Diffstat (limited to 'Objects/classobject.c')
-rw-r--r-- | Objects/classobject.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Objects/classobject.c b/Objects/classobject.c index f3b98733de0..5234a658a24 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -490,9 +490,10 @@ PyClass_IsSubclass(PyObject *class, PyObject *base) if (PyTuple_Check(base)) { n = PyTuple_GET_SIZE(base); for (i = 0; i < n; i++) { - if (class == PyTuple_GET_ITEM(base, i)) + if (PyClass_IsSubclass(class, PyTuple_GET_ITEM(base, i))) return 1; } + return 0; } if (class == NULL || !PyClass_Check(class)) return 0; |