@@ -38,38 +38,41 @@ py_uuid_generate_time_safe(PyObject *Py_UNUSED(context),
3838#endif
3939}
4040
41+ static int
42+ uuid_exec (PyObject * module ) {
43+ assert (sizeof (uuid_t ) == 16 );
44+ #ifdef HAVE_UUID_GENERATE_TIME_SAFE
45+ int has_uuid_generate_time_safe = 1 ;
46+ #else
47+ int has_uuid_generate_time_safe = 0 ;
48+ #endif
49+ if (PyModule_AddIntConstant (module , "has_uuid_generate_time_safe" ,
50+ has_uuid_generate_time_safe ) < 0 ) {
51+ return -1 ;
52+ }
53+ return 0 ;
54+ }
4155
4256static PyMethodDef uuid_methods [] = {
4357 {"generate_time_safe" , py_uuid_generate_time_safe , METH_NOARGS , NULL },
4458 {NULL , NULL , 0 , NULL } /* sentinel */
4559};
4660
61+ static PyModuleDef_Slot uuid_slots [] = {
62+ {Py_mod_exec , uuid_exec },
63+ {0 , NULL }
64+ };
65+
4766static struct PyModuleDef uuidmodule = {
4867 PyModuleDef_HEAD_INIT ,
4968 .m_name = "_uuid" ,
50- .m_size = -1 ,
69+ .m_size = 0 ,
5170 .m_methods = uuid_methods ,
71+ .m_slots = uuid_slots ,
5272};
5373
5474PyMODINIT_FUNC
5575PyInit__uuid (void )
5676{
57- PyObject * mod ;
58- assert (sizeof (uuid_t ) == 16 );
59- #ifdef HAVE_UUID_GENERATE_TIME_SAFE
60- int has_uuid_generate_time_safe = 1 ;
61- #else
62- int has_uuid_generate_time_safe = 0 ;
63- #endif
64- mod = PyModule_Create (& uuidmodule );
65- if (mod == NULL ) {
66- return NULL ;
67- }
68- if (PyModule_AddIntConstant (mod , "has_uuid_generate_time_safe" ,
69- has_uuid_generate_time_safe ) < 0 ) {
70- Py_DECREF (mod );
71- return NULL ;
72- }
73-
74- return mod ;
77+ return PyModuleDef_Init (& uuidmodule );
7578}
0 commit comments