Use multi-phase initialization for unicode-names

This commit is contained in:
Kovid Goyal
2021-09-17 08:56:55 +05:30
parent 8986d15a5b
commit a0740d1616
2 changed files with 17 additions and 12 deletions

View File

@@ -91,20 +91,24 @@ static PyMethodDef module_methods[] = {
{NULL, NULL, 0, NULL} /* Sentinel */
};
static int
exec_module(PyObject *m UNUSED) {
return 0;
}
IGNORE_PEDANTIC_WARNINGS
static PyModuleDef_Slot slots[] = { {Py_mod_exec, (void*)exec_module}, {0, NULL} };
END_IGNORE_PEDANTIC_WARNINGS
static struct PyModuleDef module = {
.m_base = PyModuleDef_HEAD_INIT,
.m_name = "unicode_names", /* name of module */
.m_doc = NULL,
.m_size = -1,
.m_slots = slots,
.m_methods = module_methods
};
EXPORTED PyMODINIT_FUNC
PyInit_unicode_names(void) {
PyObject *m;
m = PyModule_Create(&module);
if (m == NULL) return NULL;
return m;
return PyModuleDef_Init(&module);
}