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/parsermodule.c b/Modules/parsermodule.c
index 23364fe..f502bb5 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -166,8 +166,7 @@
static
PyTypeObject PyST_Type = {
- PyObject_HEAD_INIT(NULL)
- 0,
+ PyVarObject_HEAD_INIT(NULL, 0)
"parser.st", /* tp_name */
(int) sizeof(PyST_Object), /* tp_basicsize */
0, /* tp_itemsize */
@@ -694,7 +693,7 @@
PyErr_Format(parser_error,
"second item in terminal node must be a string,"
" found %s",
- temp->ob_type->tp_name);
+ Py_Type(temp)->tp_name);
Py_DECREF(temp);
return 0;
}
@@ -707,7 +706,7 @@
PyErr_Format(parser_error,
"third item in terminal node must be an"
" integer, found %s",
- temp->ob_type->tp_name);
+ Py_Type(temp)->tp_name);
Py_DECREF(o);
Py_DECREF(temp);
return 0;
@@ -3233,7 +3232,7 @@
{
PyObject *module, *copyreg;
- PyST_Type.ob_type = &PyType_Type;
+ Py_Type(&PyST_Type) = &PyType_Type;
module = Py_InitModule("parser", parser_functions);
if (module == NULL)
return;