]> granicus.if.org Git - python/commitdiff
Issue #16991: Use PyObject_TypeCheck instead of PyObject_IsInstance.
authorEric Snow <ericsnowcurrently@gmail.com>
Sat, 30 May 2015 15:29:53 +0000 (09:29 -0600)
committerEric Snow <ericsnowcurrently@gmail.com>
Sat, 30 May 2015 15:29:53 +0000 (09:29 -0600)
Include/dictobject.h
Include/odictobject.h

index 17262feffc6ea12a52af614f4b4266521777cc72..320f9ecf8c9a8dec2db66941a92c8a9f8b8e39ba 100644 (file)
@@ -45,9 +45,9 @@ PyAPI_DATA(PyTypeObject) PyDictValues_Type;
 #define PyDict_Check(op) \
                  PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_DICT_SUBCLASS)
 #define PyDict_CheckExact(op) (Py_TYPE(op) == &PyDict_Type)
-#define PyDictKeys_Check(op) (PyObject_IsInstance(op, (PyObject *)&PyDictKeys_Type))
-#define PyDictItems_Check(op) (PyObject_IsInstance(op, (PyObject *)&PyDictItems_Type))
-#define PyDictValues_Check(op) (PyObject_IsInstance(op, (PyObject *)&PyDictValues_Type))
+#define PyDictKeys_Check(op) PyObject_TypeCheck(op, &PyDictKeys_Type)
+#define PyDictItems_Check(op) PyObject_TypeCheck(op, &PyDictItems_Type)
+#define PyDictValues_Check(op) PyObject_TypeCheck(op, &PyDictValues_Type)
 /* This excludes Values, since they are not sets. */
 # define PyDictViewSet_Check(op) \
     (PyDictKeys_Check(op) || PyDictItems_Check(op))
index a32fbc5293b02c3ad6f5c1bced642f86461b0c49..1d0d235ef543bc31276c5beb051579fcc77ef5c0 100644 (file)
@@ -19,7 +19,7 @@ PyAPI_DATA(PyTypeObject) PyODictValues_Type;
 
 #endif /* Py_LIMITED_API */
 
-#define PyODict_Check(op) PyObject_IsInstance(op, (PyObject *)&PyODict_Type)
+#define PyODict_Check(op) PyObject_TypeCheck(op, &PyODict_Type)
 #define PyODict_CheckExact(op) (Py_TYPE(op) == &PyODict_Type)
 #define PyODict_SIZE(op) ((PyDictObject *)op)->ma_used
 #define PyODict_HasKey(od, key) (PyMapping_HasKey(PyObject *)od, key)