From: Walter Dörwald Date: Thu, 31 May 2007 19:23:17 +0000 (+0000) Subject: Change time.strftime() to return a unicode string. X-Git-Tag: v3.0a1~839 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf47af4d713f4993ee9326f83dc79197896c1b9a;p=thirdparty%2FPython%2Fcpython.git Change time.strftime() to return a unicode string. Use PyMem_Malloc() to allocate temporary storage. --- diff --git a/Modules/timemodule.c b/Modules/timemodule.c index 4e2429921189..c7cd340cfe9c 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 - } }