From cf47af4d713f4993ee9326f83dc79197896c1b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Walter=20D=C3=B6rwald?= Date: Thu, 31 May 2007 19:23:17 +0000 Subject: [PATCH] Change time.strftime() to return a unicode string. Use PyMem_Malloc() to allocate temporary storage. --- Modules/timemodule.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 4e242992118..c7cd340cfe9 100644 --- a/Modules/timemodule.c +++ b/Modules/timemodule.c @@ -475,7 +475,7 @@ time_strftime(PyObject *self, PyObject *args) * will be ahead of time... */ for (i = 1024; ; i += i) { - outbuf = (char *)malloc(i); + outbuf = (char *)PyMem_Malloc(i); if (outbuf == NULL) { return PyErr_NoMemory(); } @@ -487,11 +487,11 @@ time_strftime(PyObject *self, PyObject *args) e.g. an empty format, or %Z when the timezone is unknown. */ PyObject *ret; - ret = PyString_FromStringAndSize(outbuf, buflen); - free(outbuf); + ret = PyUnicode_FromStringAndSize(outbuf, buflen); + PyMem_Free(outbuf); return ret; } - free(outbuf); + PyMem_Free(outbuf); #if defined _MSC_VER && _MSC_VER >= 1400 && defined(__STDC_SECURE_LIB__) /* VisualStudio .NET 2005 does this properly */ if (buflen == 0 && errno == EINVAL) { @@ -499,7 +499,6 @@ time_strftime(PyObject *self, PyObject *args) return 0; } #endif - } }