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: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d8a5cc91e6559e11ca28e6a915017433b14b12d1;p=python 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 cab226e5d0..20dcda8d12 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):