@@ -681,43 +681,44 @@ static struct PyMethodDef SHA_functions[] = {
681
681
{NULL , NULL } /* Sentinel */
682
682
};
683
683
684
-
685
- /* Initialize this module. */
686
-
687
- static struct PyModuleDef _sha256module = {
688
- PyModuleDef_HEAD_INIT ,
689
- "_sha256" ,
690
- NULL ,
691
- -1 ,
692
- SHA_functions ,
693
- NULL ,
694
- NULL ,
695
- NULL ,
696
- NULL
697
- };
698
-
699
- PyMODINIT_FUNC
700
- PyInit__sha256 (void )
684
+ static int sha256_exec (PyObject * module )
701
685
{
702
- PyObject * m ;
703
-
704
686
Py_SET_TYPE (& SHA224type , & PyType_Type );
705
687
if (PyType_Ready (& SHA224type ) < 0 ) {
706
- return NULL ;
688
+ return -1 ;
707
689
}
708
690
Py_SET_TYPE (& SHA256type , & PyType_Type );
709
691
if (PyType_Ready (& SHA256type ) < 0 ) {
710
- return NULL ;
692
+ return -1 ;
711
693
}
712
694
713
- m = PyModule_Create (& _sha256module );
714
- if (m == NULL )
715
- return NULL ;
716
-
717
695
Py_INCREF ((PyObject * )& SHA224type );
718
- PyModule_AddObject (m , "SHA224Type" , (PyObject * )& SHA224type );
696
+ PyModule_AddObject (module , "SHA224Type" , (PyObject * )& SHA224type );
719
697
Py_INCREF ((PyObject * )& SHA256type );
720
- PyModule_AddObject (m , "SHA256Type" , (PyObject * )& SHA256type );
721
- return m ;
698
+ PyModule_AddObject (module , "SHA256Type" , (PyObject * )& SHA256type );
699
+ return 0 ;
700
+ }
701
+
702
+ static PyModuleDef_Slot _sha256_slots [] = {
703
+ {Py_mod_exec , sha256_exec },
704
+ {0 , NULL }
705
+ };
722
706
707
+ static struct PyModuleDef _sha256module = {
708
+ PyModuleDef_HEAD_INIT ,
709
+ "_sha256" ,
710
+ NULL ,
711
+ 0 ,
712
+ SHA_functions ,
713
+ _sha256_slots ,
714
+ NULL ,
715
+ NULL ,
716
+ NULL
717
+ };
718
+
719
+ /* Initialize this module. */
720
+ PyMODINIT_FUNC
721
+ PyInit__sha256 (void )
722
+ {
723
+ return PyModuleDef_Init (& _sha256module );
723
724
}
0 commit comments