PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 67f7007..301fbf5 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -974,7 +974,7 @@
if (!PyString_Check(str)) {
PyErr_Format(PyExc_TypeError,
"read() did not return a string object (type=%.400s)",
- str->ob_type->tp_name);
+ Py_Type(str)->tp_name);
goto finally;
}
len = PyString_GET_SIZE(str);
@@ -1687,8 +1687,7 @@
PyDoc_STRVAR(Xmlparsetype__doc__, "XML parser");
static PyTypeObject Xmlparsetype = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
+ PyVarObject_HEAD_INIT(NULL, 0)
"pyexpat.xmlparser", /*tp_name*/
sizeof(xmlparseobject) + PyGC_HEAD_SIZE,/*tp_basicsize*/
0, /*tp_itemsize*/
@@ -1860,7 +1859,7 @@
if (modelmod_name == NULL)
return;
- Xmlparsetype.ob_type = &PyType_Type;
+ Py_Type(&Xmlparsetype) = &PyType_Type;
/* Create the module and add the functions */
m = Py_InitModule3(MODULE_NAME, pyexpat_methods,