diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2017-01-02 19:26:05 +0000 |
commit | 14f1b3e8826ce43b978db93a62d1166055db5394 (patch) | |
tree | 0a00ad8d3498783fe0193f3b656bca17c4c8697d /examples/summaries/unicode_strings.py | |
parent | 4ee8c119c71a06dcad1e0fecc8c675e480e59337 (diff) | |
download | src-vendor/lldb/lldb-trunk-r290819.tar.gz src-vendor/lldb/lldb-trunk-r290819.zip |
Vendor import of lldb trunk r290819:vendor/lldb/lldb-trunk-r290819
Diffstat (limited to 'examples/summaries/unicode_strings.py')
-rw-r--r-- | examples/summaries/unicode_strings.py | 73 |
1 files changed, 39 insertions, 34 deletions
diff --git a/examples/summaries/unicode_strings.py b/examples/summaries/unicode_strings.py index 319433ff3c15..a9ba15a10256 100644 --- a/examples/summaries/unicode_strings.py +++ b/examples/summaries/unicode_strings.py @@ -11,38 +11,43 @@ License. See LICENSE.TXT for details. """ import lldb -def utf8_summary(value,unused): - pointer = value.GetChildMemberWithName("first").GetValueAsUnsigned(0) - length = value.GetChildMemberWithName("second").GetValueAsUnsigned(0) - if pointer == 0: - return False - if length == 0: - return '""' - error = lldb.SBError() - string_data = value.process.ReadMemory(pointer, length, error) - return '"%s"' % (string_data) # utf8 is safe to emit as-is on OSX - -def utf16_summary(value,unused): - pointer = value.GetChildMemberWithName("first").GetValueAsUnsigned(0) - length = value.GetChildMemberWithName("second").GetValueAsUnsigned(0) - # assume length is in bytes - if in UTF16 chars, just multiply by 2 - if pointer == 0: - return False - if length == 0: - return '""' - error = lldb.SBError() - string_data = value.process.ReadMemory(pointer, length, error) - return '"%s"' % (string_data.decode('utf-16').encode('utf-8')) # utf8 is safe to emit as-is on OSX - -def utf32_summary(value,unused): - pointer = value.GetChildMemberWithName("first").GetValueAsUnsigned(0) - length = value.GetChildMemberWithName("second").GetValueAsUnsigned(0) - # assume length is in bytes - if in UTF32 chars, just multiply by 4 - if pointer == 0: - return False - if length == 0: - return '""' - error = lldb.SBError() - string_data = value.process.ReadMemory(pointer, length, error) - return '"%s"' % (string_data.decode('utf-32').encode('utf-8')) # utf8 is safe to emit as-is on OSX + +def utf8_summary(value, unused): + pointer = value.GetChildMemberWithName("first").GetValueAsUnsigned(0) + length = value.GetChildMemberWithName("second").GetValueAsUnsigned(0) + if pointer == 0: + return False + if length == 0: + return '""' + error = lldb.SBError() + string_data = value.process.ReadMemory(pointer, length, error) + return '"%s"' % (string_data) # utf8 is safe to emit as-is on OSX + + +def utf16_summary(value, unused): + pointer = value.GetChildMemberWithName("first").GetValueAsUnsigned(0) + length = value.GetChildMemberWithName("second").GetValueAsUnsigned(0) + # assume length is in bytes - if in UTF16 chars, just multiply by 2 + if pointer == 0: + return False + if length == 0: + return '""' + error = lldb.SBError() + string_data = value.process.ReadMemory(pointer, length, error) + # utf8 is safe to emit as-is on OSX + return '"%s"' % (string_data.decode('utf-16').encode('utf-8')) + + +def utf32_summary(value, unused): + pointer = value.GetChildMemberWithName("first").GetValueAsUnsigned(0) + length = value.GetChildMemberWithName("second").GetValueAsUnsigned(0) + # assume length is in bytes - if in UTF32 chars, just multiply by 4 + if pointer == 0: + return False + if length == 0: + return '""' + error = lldb.SBError() + string_data = value.process.ReadMemory(pointer, length, error) + # utf8 is safe to emit as-is on OSX + return '"%s"' % (string_data.decode('utf-32').encode('utf-8')) |