[Python-checkins] cpython (merge 3.5 -> 3.5): Merge fix for #25029
larry.hastings
python-checkins at python.org
Wed Sep 9 15:56:35 CEST 2015
https://hg.python.org/cpython/rev/706b9eaba734
changeset: 97814:706b9eaba734
branch: 3.5
parent: 97812:ebb8fabd132c
parent: 97813:bd7aed300a1b
user: Steve Dower <steve.dower at microsoft.com>
date: Tue Sep 08 21:26:59 2015 -0700
summary:
Merge fix for #25029
files:
Modules/timemodule.c | 20 +++++++-------------
1 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -648,9 +648,6 @@
* will be ahead of time...
*/
for (i = 1024; ; i += i) {
-#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__)
- int err;
-#endif
outbuf = (time_char *)PyMem_Malloc(i*sizeof(time_char));
if (outbuf == NULL) {
PyErr_NoMemory();
@@ -660,10 +657,14 @@
buflen = format_time(outbuf, i, fmt, &buf);
_Py_END_SUPPRESS_IPH
#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__)
- err = errno;
+ /* VisualStudio .NET 2005 does this properly */
+ if (buflen == 0 && errno == EINVAL) {
+ PyErr_SetString(PyExc_ValueError, "Invalid format string");
+ PyMem_Free(outbuf);
+ break;
+ }
#endif
- if (buflen > 0 || fmtlen == 0 ||
- (fmtlen > 4 && i >= 256 * fmtlen)) {
+ if (buflen > 0 || i >= 256 * fmtlen) {
/* If the buffer is 256 times as long as the format,
it's probably not failing for lack of room!
More likely, the format yields an empty result,
@@ -679,13 +680,6 @@
break;
}
PyMem_Free(outbuf);
-#if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__)
- /* VisualStudio .NET 2005 does this properly */
- if (buflen == 0 && err == EINVAL) {
- PyErr_SetString(PyExc_ValueError, "Invalid format string");
- break;
- }
-#endif
}
#ifdef HAVE_WCSFTIME
PyMem_Free(format);
--
Repository URL: https://hg.python.org/cpython
More information about the Python-checkins
mailing list