From: Victor Stinner Date: Fri, 7 May 2010 00:50:12 +0000 (+0000) Subject: module_repr(): use %U to format the file name X-Git-Tag: v3.2a1~894 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8124feb07b130bb39d13f2f3cb6457b185694e41;p=python module_repr(): use %U to format the file name Avoid useless encode/decode of the filename --- diff --git a/Objects/moduleobject.c b/Objects/moduleobject.c index c1dd228abf..feac861b5c 100644 --- a/Objects/moduleobject.c +++ b/Objects/moduleobject.c @@ -191,8 +191,8 @@ PyModule_GetName(PyObject *m) return _PyUnicode_AsString(nameobj); } -const char * -PyModule_GetFilename(PyObject *m) +static PyObject* +module_getfilename(PyObject *m) { PyObject *d; PyObject *fileobj; @@ -208,6 +208,16 @@ PyModule_GetFilename(PyObject *m) PyErr_SetString(PyExc_SystemError, "module filename missing"); return NULL; } + return fileobj; +} + +const char * +PyModule_GetFilename(PyObject *m) +{ + PyObject *fileobj; + fileobj = module_getfilename(m); + if (fileobj == NULL) + return NULL; return _PyUnicode_AsString(fileobj); } @@ -327,19 +337,19 @@ static PyObject * module_repr(PyModuleObject *m) { const char *name; - const char *filename; + PyObject *filename; name = PyModule_GetName((PyObject *)m); if (name == NULL) { PyErr_Clear(); name = "?"; } - filename = PyModule_GetFilename((PyObject *)m); + filename = module_getfilename((PyObject *)m); if (filename == NULL) { PyErr_Clear(); return PyUnicode_FromFormat("", name); } - return PyUnicode_FromFormat("", name, filename); + return PyUnicode_FromFormat("", name, filename); } static int