bpo-39573: Use the Py_TYPE() macro (GH-21433)
Replace obj->ob_type with Py_TYPE(obj).
diff --git a/PC/_msi.c b/PC/_msi.c
index f725c81..504899d 100644
--- a/PC/_msi.c
+++ b/PC/_msi.c
@@ -193,7 +193,7 @@
if (!PyBytes_Check(result)) {
PyErr_Format(PyExc_TypeError,
"Incorrect return type %s from getnextcabinet",
- result->ob_type->tp_name);
+ Py_TYPE(result)->tp_name);
Py_DECREF(result);
return FALSE;
}
@@ -879,7 +879,7 @@
MSIHANDLE params = 0;
if (oparams != Py_None) {
- if (oparams->ob_type != &record_Type) {
+ if (!Py_IS_TYPE(oparams, &record_Type)) {
PyErr_SetString(PyExc_TypeError, "Execute argument must be a record");
return NULL;
}
@@ -955,7 +955,7 @@
{
int status;
- if (data->ob_type != &record_Type) {
+ if (!Py_IS_TYPE(data, &record_Type)) {
PyErr_SetString(PyExc_TypeError, "Modify expects a record object");
return NULL;
}
diff --git a/PC/winreg.c b/PC/winreg.c
index 7c3b2f4..b2725b8 100644
--- a/PC/winreg.c
+++ b/PC/winreg.c
@@ -112,7 +112,7 @@
HKEY hkey;
} PyHKEYObject;
-#define PyHKEY_Check(op) ((op)->ob_type == &PyHKEY_Type)
+#define PyHKEY_Check(op) Py_IS_TYPE(op, &PyHKEY_Type)
static char *failMsg = "bad operand type";
@@ -693,7 +693,7 @@
PyErr_Format(PyExc_TypeError,
"Objects of type '%s' can not "
"be used as binary registry values",
- value->ob_type->tp_name);
+ Py_TYPE(value)->tp_name);
return FALSE;
}