]> granicus.if.org Git - python/commitdiff
Use the portable form of initializing the ob_type field for new types.
authorFred Drake <fdrake@acm.org>
Tue, 16 Feb 1999 22:15:42 +0000 (22:15 +0000)
committerFred Drake <fdrake@acm.org>
Tue, 16 Feb 1999 22:15:42 +0000 (22:15 +0000)
Modules/xxmodule.c

index 529f521aec85c84de3fe2768b80d1b4a6f72f1d7..04a474ce49cc1b0861b6cbf872e410783b384985 100644 (file)
@@ -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);