@@ -1737,6 +1737,12 @@ get_gmtoff(time_t t, struct tm *p)
1737
1737
static int
1738
1738
init_timezone (PyObject * m )
1739
1739
{
1740
+ #define ADD_INT (NAME , VALUE ) do { \
1741
+ if (PyModule_AddIntConstant(m, NAME, VALUE) < 0) { \
1742
+ return -1; \
1743
+ } \
1744
+ } while (0)
1745
+
1740
1746
assert (!PyErr_Occurred ());
1741
1747
1742
1748
/* This code moved from PyInit_time wholesale to allow calling it from
@@ -1760,13 +1766,13 @@ init_timezone(PyObject *m)
1760
1766
#if !defined(MS_WINDOWS ) || defined(MS_WINDOWS_DESKTOP ) || defined(MS_WINDOWS_SYSTEM )
1761
1767
tzset ();
1762
1768
#endif
1763
- PyModule_AddIntConstant ( m , "timezone" , _Py_timezone );
1769
+ ADD_INT ( "timezone" , _Py_timezone );
1764
1770
#ifdef HAVE_ALTZONE
1765
- PyModule_AddIntConstant ( m , "altzone" , altzone );
1771
+ ADD_INT ( "altzone" , altzone );
1766
1772
#else
1767
- PyModule_AddIntConstant ( m , "altzone" , _Py_timezone - 3600 );
1773
+ ADD_INT ( "altzone" , _Py_timezone - 3600 );
1768
1774
#endif
1769
- PyModule_AddIntConstant ( m , "daylight" , _Py_daylight );
1775
+ ADD_INT ( "daylight" , _Py_daylight );
1770
1776
#ifdef MS_WINDOWS
1771
1777
TIME_ZONE_INFORMATION tzinfo = {0 };
1772
1778
GetTimeZoneInformation (& tzinfo );
@@ -1825,20 +1831,21 @@ init_timezone(PyObject *m)
1825
1831
PyObject * tzname_obj ;
1826
1832
if (janzone < julyzone ) {
1827
1833
/* DST is reversed in the southern hemisphere */
1828
- PyModule_AddIntConstant ( m , "timezone" , julyzone );
1829
- PyModule_AddIntConstant ( m , "altzone" , janzone );
1830
- PyModule_AddIntConstant ( m , "daylight" , janzone != julyzone );
1834
+ ADD_INT ( "timezone" , julyzone );
1835
+ ADD_INT ( "altzone" , janzone );
1836
+ ADD_INT ( "daylight" , janzone != julyzone );
1831
1837
tzname_obj = Py_BuildValue ("(zz)" , julyname , janname );
1832
1838
} else {
1833
- PyModule_AddIntConstant ( m , "timezone" , janzone );
1834
- PyModule_AddIntConstant ( m , "altzone" , julyzone );
1835
- PyModule_AddIntConstant ( m , "daylight" , janzone != julyzone );
1839
+ ADD_INT ( "timezone" , janzone );
1840
+ ADD_INT ( "altzone" , julyzone );
1841
+ ADD_INT ( "daylight" , janzone != julyzone );
1836
1842
tzname_obj = Py_BuildValue ("(zz)" , janname , julyname );
1837
1843
}
1838
1844
if (_PyModule_Add (m , "tzname" , tzname_obj ) < 0 ) {
1839
1845
return -1 ;
1840
1846
}
1841
1847
#endif // !HAVE_DECL_TZNAME
1848
+ #undef ADD_INT
1842
1849
1843
1850
if (PyErr_Occurred ()) {
1844
1851
return -1 ;
0 commit comments