Don't use (PyObject *)PyObject_Type(x). It is a leaky and verbose way
of saying x->ob_type.
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index eb9599c..91f15e3 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -681,7 +681,7 @@
PyErr_Format(parser_error,
"second item in terminal node must be a string,"
" found %s",
- ((PyTypeObject*)PyObject_Type(temp))->tp_name);
+ temp->ob_type->tp_name);
Py_DECREF(temp);
return 0;
}
@@ -694,7 +694,7 @@
PyErr_Format(parser_error,
"third item in terminal node must be an"
" integer, found %s",
- ((PyTypeObject*)PyObject_Type(temp))->tp_name);
+ temp->ob_type->tp_name);
Py_DECREF(o);
Py_DECREF(temp);
return 0;