aboutsummaryrefslogtreecommitdiff
path: root/examples/summaries/unicode_strings.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/summaries/unicode_strings.py')
-rw-r--r--examples/summaries/unicode_strings.py73
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'))