From 6724835959a1d38da7bb7e047b16610c17623a11 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Tue, 16 Feb 1999 22:15:42 +0000 Subject: [PATCH] Use the portable form of initializing the ob_type field for new types. --- Modules/xxmodule.c | 10 ++++++++-- 1 file 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); -- 2.49.0