diff options
Diffstat (limited to 'Objects/stringobject.c')
-rw-r--r-- | Objects/stringobject.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/Objects/stringobject.c b/Objects/stringobject.c index 99a16ed..e29be5a 100644 --- a/Objects/stringobject.c +++ b/Objects/stringobject.c @@ -824,9 +824,10 @@ string_richcompare(PyStringObject *a, PyStringObject *b, int op) int min_len; PyObject *result; - /* One of the objects is a string object. Make sure the - other one is one, too. */ - if (a->ob_type != b->ob_type) { + /* May sure both arguments use string comparison. + This implies PyString_Check(a) && PyString_Check(b). */ + if (a->ob_type->tp_richcompare != (richcmpfunc)string_richcompare || + b->ob_type->tp_richcompare != (richcmpfunc)string_richcompare) { result = Py_NotImplemented; goto out; } |