From 8124feb07b130bb39d13f2f3cb6457b185694e41 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Fri, 7 May 2010 00:50:12 +0000 Subject: [PATCH] module_repr(): use %U to format the file name Avoid useless encode/decode of the filename --- Objects/moduleobject.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) 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 -- 2.50.0