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