Commit 82fc51c1 authored by Guido van Rossum's avatar Guido van Rossum

Update to MvL's patch #424475 to avoid returning 2 when tp_compare

returns that.  (This fix is also by MvL; checkin it in because I want
to make more changes here.  I'm still not 100% satisfied -- see
comments attached to the patch.)
parent 49b253b1
......@@ -580,8 +580,11 @@ do_cmp(PyObject *v, PyObject *w)
cmpfunc f;
if (v->ob_type == w->ob_type
&& (f = v->ob_type->tp_compare) != NULL)
return (*f)(v, w);
&& (f = v->ob_type->tp_compare) != NULL) {
c = (*f)(v, w);
if (c != 2 || !PyInstance_Check(v))
return c;
}
c = try_rich_to_3way_compare(v, w);
if (c < 2)
return c;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment