From: Fred Drake Date: Tue, 16 Feb 1999 22:15:42 +0000 (+0000) Subject: Use the portable form of initializing the ob_type field for new types. X-Git-Tag: v1.5.2b2~26 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6724835959a1d38da7bb7e047b16610c17623a11;p=python Use the portable form of initializing the ob_type field for new types. --- 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);