From dea6ef9bfd6f04d216e46bb9537d6991f2be6348 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 11 Sep 2001 16:13:52 +0000 Subject: Replace a few places where X->ob_type was compared to &PyXXX_Type with calls to PyXXX_CheckExact(X). --- Objects/floatobject.c | 6 +++--- 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, "# \n", p, p->ob_refcnt, p->ob_ival); -- cgit v0.12