diff options
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/classobject.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Objects/classobject.c b/Objects/classobject.c index a395801..7d8a8e9 100644 --- a/Objects/classobject.c +++ b/Objects/classobject.c @@ -524,14 +524,14 @@ instance_compare(inst, other) int outcome; result = instancebinop(inst, other, "__cmp__", "__rcmp__"); if (result == NULL) { - /* no __cmp__ or __rcmp__ methods, so use addresses */ + error: err_clear(); - return inst < other ? -1 : (inst > other ? 1 : 0); + return (inst < other) ? -1 : 1; } outcome = getintvalue(result); DECREF(result); if (outcome == -1 && err_occurred()) - return -2; + goto error; if (outcome < 0) return -1; else if (outcome > 0) |