@@ -38,38 +38,41 @@ py_uuid_generate_time_safe(PyObject *Py_UNUSED(context),
38
38
#endif
39
39
}
40
40
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
+ }
41
55
42
56
static PyMethodDef uuid_methods [] = {
43
57
{"generate_time_safe" , py_uuid_generate_time_safe , METH_NOARGS , NULL },
44
58
{NULL , NULL , 0 , NULL } /* sentinel */
45
59
};
46
60
61
+ static PyModuleDef_Slot uuid_slots [] = {
62
+ {Py_mod_exec , uuid_exec },
63
+ {0 , NULL }
64
+ };
65
+
47
66
static struct PyModuleDef uuidmodule = {
48
67
PyModuleDef_HEAD_INIT ,
49
68
.m_name = "_uuid" ,
50
- .m_size = -1 ,
69
+ .m_size = 0 ,
51
70
.m_methods = uuid_methods ,
71
+ .m_slots = uuid_slots ,
52
72
};
53
73
54
74
PyMODINIT_FUNC
55
75
PyInit__uuid (void )
56
76
{
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 );
75
78
}
0 commit comments