summaryrefslogtreecommitdiff
path: root/Modules/xxmodule.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/xxmodule.c')
-rw-r--r--Modules/xxmodule.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/Modules/xxmodule.c b/Modules/xxmodule.c
index 529f521aec..04a474ce49 100644
--- a/Modules/xxmodule.c
+++ b/Modules/xxmodule.c
@@ -132,8 +132,10 @@ Xxo_setattr(self, name, v)
return PyDict_SetItemString(self->x_attr, name, v);
}
-staticforward PyTypeObject Xxo_Type = {
- PyObject_HEAD_INIT(&PyType_Type)
+statichere PyTypeObject Xxo_Type = {
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyObject_HEAD_INIT(NULL)
0, /*ob_size*/
"Xxo", /*tp_name*/
sizeof(XxoObject), /*tp_basicsize*/
@@ -242,6 +244,10 @@ initxx()
{
PyObject *m, *d;
+ /* Initialize the type of the new type object here; doing it here
+ * is required for portability to Windows without requiring C++. */
+ Xxo_Type.ob_type = &PyType_Type;
+
/* Create the module and add the functions */
m = Py_InitModule("xx", xx_methods);