From 82fc51c19c90ea7a9aab0aac8db278a84cefe2b1 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 16 Aug 2001 08:02:45 +0000 Subject: [PATCH] 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.) --- Objects/object.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Objects/object.c b/Objects/object.c index 0d9b3fe5db..e602159119 100644 --- a/Objects/object.c +++ b/Objects/object.c @@ -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; -- 2.40.0