Remove all but one use of the module dict.
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 52308b3..9396826 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -560,17 +560,6 @@
 	{NULL,		NULL}		/* sentinel */
 };
 
-static void
-ins(PyObject *d, char *name, PyObject *v)
-{
-	/* Don't worry too much about errors, they'll be caught by the
-	 * caller of inittime().
-	 */
-	if (v)
-		PyDict_SetItemString(d, name, v);
-	Py_XDECREF(v);
-}
-
 
 static char module_doc[] =
 "This module provides various functions to manipulate time values.\n\
@@ -621,34 +610,35 @@
 DL_EXPORT(void)
 inittime(void)
 {
-	PyObject *m, *d;
+	PyObject *m;
 	char *p;
 	m = Py_InitModule3("time", time_methods, module_doc);
-	d = PyModule_GetDict(m);
+
 	/* Accept 2-digit dates unless PYTHONY2K is set and non-empty */
 	p = Py_GETENV("PYTHONY2K");
-	ins(d, "accept2dyear", PyInt_FromLong((long) (!p || !*p)));
+	PyModule_AddIntConstant(m, "accept2dyear", (long) (!p || !*p));
 	/* Squirrel away the module's dictionary for the y2k check */
-	Py_INCREF(d);
-	moddict = d;
+	moddict = PyModule_GetDict(m);
+	Py_INCREF(moddict);
 #if defined(HAVE_TZNAME) && !defined(__GLIBC__) && !defined(__CYGWIN__)
 	tzset();
 #ifdef PYOS_OS2
-	ins(d, "timezone", PyInt_FromLong((long)_timezone));
+	PyModule_AddIntConstant(m, "timezone", _timezone);
 #else /* !PYOS_OS2 */
-	ins(d, "timezone", PyInt_FromLong((long)timezone));
+	PyModule_AddIntConstant(m, "timezone", timezone);
 #endif /* PYOS_OS2 */
 #ifdef HAVE_ALTZONE
-	ins(d, "altzone", PyInt_FromLong((long)altzone));
+	PyModule_AddIntConstant(m, "altzone", altzone);
 #else
 #ifdef PYOS_OS2
-	ins(d, "altzone", PyInt_FromLong((long)_timezone-3600));
+	PyModule_AddIntConstant(m, "altzone", _timezone-3600);
 #else /* !PYOS_OS2 */
-	ins(d, "altzone", PyInt_FromLong((long)timezone-3600));
+	PyModule_AddIntConstant(m, "altzone", timezone-3600);
 #endif /* PYOS_OS2 */
 #endif
-	ins(d, "daylight", PyInt_FromLong((long)daylight));
-	ins(d, "tzname", Py_BuildValue("(zz)", tzname[0], tzname[1]));
+	PyModule_AddIntConstant(m, "daylight", daylight);
+	PyModule_AddObject(m, "tzname",
+			   Py_BuildValue("(zz)", tzname[0], tzname[1]));
 #else /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
 #ifdef HAVE_TM_ZONE
 	{
@@ -670,19 +660,21 @@
 
 		if( janzone < julyzone ) {
 			/* DST is reversed in the southern hemisphere */
-			ins(d, "timezone", PyInt_FromLong(julyzone));
-			ins(d, "altzone", PyInt_FromLong(janzone));
-			ins(d, "daylight",
-			    PyInt_FromLong((long)(janzone != julyzone)));
-			ins(d, "tzname",
-			    Py_BuildValue("(zz)", julyname, janname));
+			PyModule_AddIntConstant(m, "timezone", julyzone);
+			PyModule_AddIntConstant(m, "altzone", janzone);
+			PyModule_AddIntConstant(m, "daylight",
+						janzone != julyzone);
+			PyModule_AddObject(m, "tzname",
+					   Py_BuildValue("(zz)",
+							 julyname, janname));
 		} else {
-			ins(d, "timezone", PyInt_FromLong(janzone));
-			ins(d, "altzone", PyInt_FromLong(julyzone));
-			ins(d, "daylight",
-			    PyInt_FromLong((long)(janzone != julyzone)));
-			ins(d, "tzname",
-			    Py_BuildValue("(zz)", janname, julyname));
+			PyModule_AddIntConstant(m, "timezone", janzone);
+			PyModule_AddIntConstant(m, "altzone", julyzone);
+			PyModule_AddIntConstant(m, "daylight",
+						janzone != julyzone);
+			PyModule_AddObject(m, "tzname",
+					   Py_BuildValue("(zz)",
+							 janname, julyname));
 		}
 	}
 #else
@@ -692,23 +684,25 @@
 	** we're looking for:-( )
 	*/
 	initmactimezone();
-	ins(d, "timezone", PyInt_FromLong(timezone));
-	ins(d, "altzone", PyInt_FromLong(timezone));
-	ins(d, "daylight", PyInt_FromLong((long)0));
-	ins(d, "tzname", Py_BuildValue("(zz)", "", ""));
+	PyModule_AddIntConstant(m, "timezone", timezone);
+	PyModule_AddIntConstant(m, "altzone", timezone);
+	PyModule_AddIntConstant(m, "daylight", 0);
+	PyModule_AddObject(m, "tzname", Py_BuildValue("(zz)", "", ""));
 #endif /* macintosh */
 #endif /* HAVE_TM_ZONE */
 #ifdef __CYGWIN__
 	tzset();
-	ins(d, "timezone", PyInt_FromLong(_timezone));
-	ins(d, "altzone", PyInt_FromLong(_timezone));
-	ins(d, "daylight", PyInt_FromLong(_daylight));
-	ins(d, "tzname", Py_BuildValue("(zz)", _tzname[0], _tzname[1]));
+	PyModule_AddIntConstant(m, "timezone", _timezone);
+	PyModule_AddIntConstant(m, "altzone", _timezone);
+	PyModule_AddIntConstant(m, "daylight", _daylight);
+	PyModule_AddObject(m, "tzname",
+			   Py_BuildValue("(zz)", _tzname[0], _tzname[1]));
 #endif /* __CYGWIN__ */
 #endif /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
 
         PyStructSequence_InitType(&StructTimeType, &struct_time_type_desc);
-	PyDict_SetItemString(d, "struct_time", (PyObject*) &StructTimeType);
+	Py_INCREF(&StructTimeType);
+	PyModule_AddObject(m, "struct_time", (PyObject*) &StructTimeType);
 }