]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Backport Tim's checkin 2.130:
authorThomas Wouters <thomas@python.org>
Wed, 23 May 2001 13:18:30 +0000 (13:18 +0000)
committerThomas Wouters <thomas@python.org>
Wed, 23 May 2001 13:18:30 +0000 (13:18 +0000)
SF bug #422108 - Error in rich comparisons.
Fix a bad (albeit unlikely) return value in try_rich_to_3way_compare().
Also document do_cmp()'s return values.

Objects/object.c

index 2c033f88f2f5ab3831004fdcbe0228846b8761ea..dbf29e0dc2774d7880c418d28102303659a6e10a 100644 (file)
@@ -447,7 +447,7 @@ try_rich_to_3way_compare(PyObject *v, PyObject *w)
        for (i = 0; i < 3; i++) {
                switch (try_rich_compare_bool(v, w, tries[i].op)) {
                case -1:
-                       return -1;
+                       return -2;
                case 1:
                        return tries[i].outcome;
                }
@@ -585,6 +585,12 @@ default_3way_compare(PyObject *v, PyObject *w)
 
 #define CHECK_TYPES(o) PyType_HasFeature((o)->ob_type, Py_TPFLAGS_CHECKTYPES)
 
+/* Do a 3-way comparison, by hook or by crook.  Return:
+   -2 for an exception;
+   -1 if v < w;
+    0 if v == w;
+    1 if v > w;
+*/
 static int
 do_cmp(PyObject *v, PyObject *w)
 {