From: Guido van Rossum Date: Fri, 14 Feb 1997 16:35:10 +0000 (+0000) Subject: Issue a more meaningful error if strftime keeps returning a NULL pointer. X-Git-Tag: v1.5a1~376 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a78bfe198565e25148b57a58fc5bec01ada8f6ab;p=python 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 b9f0c49a05..1f5593366b 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -242,7 +242,7 @@ time_strftime(self, args) /* 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 @@ time_strftime(self, args) } 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 @@ floatsleep(double secs) double secs; #endif /* MPW */ { +/* XXX Should test for MS_WIN32 first! */ #ifdef HAVE_SELECT struct timeval t; double frac;