diff options
Diffstat (limited to 'Objects/methodobject.c')
-rw-r--r-- | Objects/methodobject.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Objects/methodobject.c b/Objects/methodobject.c index 737a3f7..69d7791 100644 --- a/Objects/methodobject.c +++ b/Objects/methodobject.c @@ -230,12 +230,9 @@ meth_richcompare(PyObject *self, PyObject *other, int op) PyObject *res; int eq; - if ((op != Py_EQ && op != Py_NE) || - !PyCFunction_Check(self) || - !PyCFunction_Check(other)) - { - /* Py3K warning if types are not equal and comparison isn't == or != */ - if (PyErr_WarnPy3k("builtin_function_or_method inequality " + if (op != Py_EQ && op != Py_NE) { + /* Py3K warning if comparison isn't == or !=. */ + if (PyErr_WarnPy3k("builtin_function_or_method order " "comparisons not supported in 3.x", 1) < 0) { return NULL; } @@ -243,6 +240,10 @@ meth_richcompare(PyObject *self, PyObject *other, int op) Py_INCREF(Py_NotImplemented); return Py_NotImplemented; } + else if (!PyCFunction_Check(self) || !PyCFunction_Check(other)) { + Py_INCREF(Py_NotImplemented); + return Py_NotImplemented; + } a = (PyCFunctionObject *)self; b = (PyCFunctionObject *)other; eq = a->m_self == b->m_self; |