Browse Source

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.
pull/224/head
Victor Stinner 13 years ago
parent
commit
d8a5cc91e6
  1. 4
      Tools/gdb/libpython.py

4
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):

Loading…
Cancel
Save