From: Guido van Rossum Date: Tue, 11 Sep 2001 16:13:52 +0000 (+0000) Subject: Replace a few places where X->ob_type was compared to &PyXXX_Type with X-Git-Tag: v2.2.1c1~1849 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dea6ef9bfd6f04d216e46bb9537d6991f2be6348;p=python Replace a few places where X->ob_type was compared to &PyXXX_Type with calls to PyXXX_CheckExact(X). --- diff --git a/Objects/floatobject.c b/Objects/floatobject.c index beb35e9ca6..d606547841 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 12edb51002..261edb8443 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);