diff options
-rw-r--r-- | Objects/floatobject.c | 6 | ||||
-rw-r--r-- | Objects/intobject.c | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/Objects/floatobject.c b/Objects/floatobject.c index beb35e9..d606547 100644 --- a/Objects/floatobject.c +++ b/Objects/floatobject.c @@ -775,7 +775,7 @@ PyFloat_Fini(void) for (i = 0, p = &list->objects[0]; i < N_FLOATOBJECTS; i++, p++) { - if (p->ob_type == &PyFloat_Type && p->ob_refcnt != 0) + if (PyFloat_CheckExact(p) && p->ob_refcnt != 0) frem++; } next = list->next; @@ -785,7 +785,7 @@ PyFloat_Fini(void) for (i = 0, p = &list->objects[0]; i < N_FLOATOBJECTS; i++, p++) { - if (p->ob_type != &PyFloat_Type || + if (!PyFloat_CheckExact(p) || p->ob_refcnt == 0) { p->ob_type = (struct _typeobject *) free_list; @@ -818,7 +818,7 @@ PyFloat_Fini(void) for (i = 0, p = &list->objects[0]; i < N_FLOATOBJECTS; i++, p++) { - if (p->ob_type == &PyFloat_Type && + if (PyFloat_CheckExact(p) && p->ob_refcnt != 0) { char buf[100]; PyFloat_AsString(buf, p); diff --git a/Objects/intobject.c b/Objects/intobject.c index 12edb51..261edb8 100644 --- a/Objects/intobject.c +++ b/Objects/intobject.c @@ -134,7 +134,7 @@ PyInt_FromLong(long ival) static void int_dealloc(PyIntObject *v) { - if (v->ob_type == &PyInt_Type) { + if (PyInt_CheckExact(v)) { v->ob_type = (struct _typeobject *)free_list; free_list = v; } @@ -999,7 +999,7 @@ PyInt_Fini(void) for (i = 0, p = &list->objects[0]; i < N_INTOBJECTS; i++, p++) { - if (p->ob_type == &PyInt_Type && p->ob_refcnt != 0) + if (PyInt_CheckExact(p) && p->ob_refcnt != 0) irem++; } next = list->next; @@ -1009,7 +1009,7 @@ PyInt_Fini(void) for (i = 0, p = &list->objects[0]; i < N_INTOBJECTS; i++, p++) { - if (p->ob_type != &PyInt_Type || + if (!PyInt_CheckExact(p) || p->ob_refcnt == 0) { p->ob_type = (struct _typeobject *) free_list; @@ -1052,7 +1052,7 @@ PyInt_Fini(void) for (i = 0, p = &list->objects[0]; i < N_INTOBJECTS; i++, p++) { - if (p->ob_type == &PyInt_Type && p->ob_refcnt != 0) + if (PyInt_CheckExact(p) && p->ob_refcnt != 0) fprintf(stderr, "# <int at %p, refcnt=%d, val=%ld>\n", p, p->ob_refcnt, p->ob_ival); |