@@ -726,47 +726,58 @@ static struct PyMethodDef PyLocale_Methods[] = {
726
726
};
727
727
728
728
static int
729
- _locale_exec (PyObject * m )
729
+ _locale_exec (PyObject * module )
730
730
{
731
731
#ifdef HAVE_LANGINFO_H
732
732
int i ;
733
733
#endif
734
+ #define ADD_INT (module , value ) \
735
+ do { \
736
+ if (PyModule_AddIntConstant(module, #value, value) < 0) { \
737
+ return -1; \
738
+ } \
739
+ } while (0)
734
740
735
- PyModule_AddIntMacro ( m , LC_CTYPE );
736
- PyModule_AddIntMacro ( m , LC_TIME );
737
- PyModule_AddIntMacro ( m , LC_COLLATE );
738
- PyModule_AddIntMacro ( m , LC_MONETARY );
741
+ ADD_INT ( module , LC_CTYPE );
742
+ ADD_INT ( module , LC_TIME );
743
+ ADD_INT ( module , LC_COLLATE );
744
+ ADD_INT ( module , LC_MONETARY );
739
745
740
746
#ifdef LC_MESSAGES
741
- PyModule_AddIntMacro ( m , LC_MESSAGES );
747
+ ADD_INT ( module , LC_MESSAGES );
742
748
#endif /* LC_MESSAGES */
743
749
744
- PyModule_AddIntMacro ( m , LC_NUMERIC );
745
- PyModule_AddIntMacro ( m , LC_ALL );
746
- PyModule_AddIntMacro ( m , CHAR_MAX );
750
+ ADD_INT ( module , LC_NUMERIC );
751
+ ADD_INT ( module , LC_ALL );
752
+ ADD_INT ( module , CHAR_MAX );
747
753
748
- _locale_state * state = get_locale_state (m );
754
+ _locale_state * state = get_locale_state (module );
749
755
state -> Error = PyErr_NewException ("locale.Error" , NULL , NULL );
750
756
if (state -> Error == NULL ) {
751
757
return -1 ;
752
758
}
753
- Py_INCREF (get_locale_state (m )-> Error );
754
- if (PyModule_AddObject (m , "Error" , get_locale_state (m )-> Error ) < 0 ) {
755
- Py_DECREF (get_locale_state (m )-> Error );
759
+ Py_INCREF (get_locale_state (module )-> Error );
760
+ if (PyModule_AddObject (module , "Error" , get_locale_state (module )-> Error ) < 0 ) {
761
+ Py_DECREF (get_locale_state (module )-> Error );
756
762
return -1 ;
757
763
}
758
764
759
765
#ifdef HAVE_LANGINFO_H
760
766
for (i = 0 ; langinfo_constants [i ].name ; i ++ ) {
761
- PyModule_AddIntConstant (m , langinfo_constants [i ].name ,
762
- langinfo_constants [i ].value );
767
+ if (PyModule_AddIntConstant (module ,
768
+ langinfo_constants [i ].name ,
769
+ langinfo_constants [i ].value ) < 0 ) {
770
+ return -1 ;
771
+ }
763
772
}
764
773
#endif
765
774
766
775
if (PyErr_Occurred ()) {
767
776
return -1 ;
768
777
}
769
778
return 0 ;
779
+
780
+ #undef ADD_INT
770
781
}
771
782
772
783
static struct PyModuleDef_Slot _locale_slots [] = {
0 commit comments