Implement PEP 3121: new module initialization and finalization API.
diff --git a/Modules/grpmodule.c b/Modules/grpmodule.c
index a39ca76..039f794 100644
--- a/Modules/grpmodule.c
+++ b/Modules/grpmodule.c
@@ -179,16 +179,30 @@
complete membership information.)");
+
+static struct PyModuleDef grpmodule = {
+ PyModuleDef_HEAD_INIT,
+ "grp",
+ grp__doc__,
+ -1,
+ grp_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
PyMODINIT_FUNC
-initgrp(void)
+PyInit_grp(void)
{
PyObject *m, *d;
- m = Py_InitModule3("grp", grp_methods, grp__doc__);
+ m = PyModule_Create(&grpmodule);
if (m == NULL)
- return;
+ return NULL;
d = PyModule_GetDict(m);
if (!initialized)
PyStructSequence_InitType(&StructGrpType, &struct_group_type_desc);
PyDict_SetItemString(d, "struct_group", (PyObject *) &StructGrpType);
initialized = 1;
+ return m;
}