Issue a more meaningful error if strftime keeps returning a NULL pointer.
Run the loop up to and including 8k.
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index b9f0c49..1f55933 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -242,7 +242,7 @@
 	/* I hate these functions that presume you know how big the output
 	 * will be ahead of time...
 	 */
-	for (i = 1024 ; i < 8192 ; i += 1024) {
+	for (i = 1024 ; i <= 8192 ; i += 1024) {
 		outbuf = malloc(i);
 		if (outbuf == NULL) {
 			return PyErr_NoMemory();
@@ -255,7 +255,9 @@
 		}
 		free(outbuf);
 	}
-	return PyErr_NoMemory();
+	PyErr_SetString(PyExc_ValueError,
+			"bad strftime format or result too big");
+	return NULL;
 }
 #endif /* HAVE_STRFTIME */
 
@@ -443,6 +445,7 @@
 	double secs;
 #endif /* MPW */
 {
+/* XXX Should test for MS_WIN32 first! */
 #ifdef HAVE_SELECT
 	struct timeval t;
 	double frac;