Patch #551009: Initialize array type dynamically.
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 1aa76dc..0653e89 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1697,7 +1697,7 @@
0, /* tp_hash */
0, /* tp_call */
0, /* tp_str */
- PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_getattro */
0, /* tp_setattro */
&array_as_buffer, /* tp_as_buffer*/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
@@ -1717,9 +1717,9 @@
0, /* tp_descr_set */
0, /* tp_dictoffset */
0, /* tp_init */
- PyType_GenericAlloc, /* tp_alloc */
+ 0, /* tp_alloc */
array_new, /* tp_new */
- PyObject_Del, /* tp_free */
+ 0, /* tp_free */
};
/* No functions in array module. */
@@ -1734,6 +1734,9 @@
PyObject *m;
Arraytype.ob_type = &PyType_Type;
+ Arraytype.tp_getattro = PyObject_GenericGetAttr;
+ Arraytype.tp_alloc = PyType_GenericAlloc;
+ Arraytype.tp_free = PyObject_Del;
m = Py_InitModule3("array", a_methods, module_doc);
Py_INCREF((PyObject *)&Arraytype);