]> granicus.if.org Git - python/commitdiff
Clamp code objects' tp_compare result to [-1, 1].
authorMichael W. Hudson <mwh@python.net>
Thu, 3 Oct 2002 09:50:47 +0000 (09:50 +0000)
committerMichael W. Hudson <mwh@python.net>
Thu, 3 Oct 2002 09:50:47 +0000 (09:50 +0000)
Bugfix candidate.

Python/compile.c

index 26c56f46bd387732822b2f8b5fada0206704c7a1..d916751ef7df9e3c0d9183150e7820bb5de393ea 100644 (file)
@@ -196,11 +196,11 @@ code_compare(PyCodeObject *co, PyCodeObject *cp)
        cmp = PyObject_Compare(co->co_name, cp->co_name);
        if (cmp) return cmp;
        cmp = co->co_argcount - cp->co_argcount;
-       if (cmp) return cmp;
+       if (cmp) return (cmp<0)?-1:1;
        cmp = co->co_nlocals - cp->co_nlocals;
-       if (cmp) return cmp;
+       if (cmp) return (cmp<0)?-1:1;
        cmp = co->co_flags - cp->co_flags;
-       if (cmp) return cmp;
+       if (cmp) return (cmp<0)?-1:1;
        cmp = PyObject_Compare(co->co_code, cp->co_code);
        if (cmp) return cmp;
        cmp = PyObject_Compare(co->co_consts, cp->co_consts);