From: Victor Stinner Date: Thu, 11 Apr 2013 19:37:45 +0000 (+0200) Subject: python-gdb.py: Replace invalid Unicode character with U+FFFD to be able to X-Git-Tag: v3.4.0a1~982 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d8a5cc91e6559e11ca28e6a915017433b14b12d1;p=thirdparty%2FPython%2Fcpython.git python-gdb.py: Replace invalid Unicode character with U+FFFD to be able to display invalid strings. Such strings can be found while Python is creating a new string, in a text decoder for example, when Python is compiled in debug mode. --- diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py index cab226e5d04b..20dcda8d12c6 100644 --- a/Tools/gdb/libpython.py +++ b/Tools/gdb/libpython.py @@ -1160,7 +1160,9 @@ class PyUnicodeObjectPtr(PyObjectPtr): # Convert the int code points to unicode characters, and generate a # local unicode instance. # This splits surrogate pairs if sizeof(Py_UNICODE) is 2 here (in gdb). - result = u''.join([_unichr(ucs) for ucs in Py_UNICODEs]) + result = u''.join([ + (_unichr(ucs) if ucs <= 0x10ffff else '\ufffd') + for ucs in Py_UNICODEs]) return result def write_repr(self, out, visited):