diff options
-rwxr-xr-x | Lib/cProfile.py | 2 | ||||
-rw-r--r-- | Modules/_lsprof.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/Lib/cProfile.py b/Lib/cProfile.py index fb434bd..d10b7ab 100755 --- a/Lib/cProfile.py +++ b/Lib/cProfile.py @@ -153,7 +153,7 @@ class Profile(_lsprof.Profiler): # ____________________________________________________________ def label(code): - if isinstance(code, str): + if isinstance(code, basestring): return ('~', 0, code) # built-in functions ('~' sorts at the end) else: return (code.co_filename, code.co_firstlineno, code.co_name) diff --git a/Modules/_lsprof.c b/Modules/_lsprof.c index d665f83..6de65b7 100644 --- a/Modules/_lsprof.c +++ b/Modules/_lsprof.c @@ -182,6 +182,9 @@ normalizeUserObj(PyObject *obj) if (mod && PyString_Check(mod)) { modname = PyString_AS_STRING(mod); } + else if (mod && PyUnicode_Check(mod)) { + modname = PyUnicode_AsString(mod); + } else if (mod && PyModule_Check(mod)) { modname = PyModule_GetName(mod); if (modname == NULL) { |