Change the SBValue.linked_list_iter() to treat the value object as a homogeneous linked list data structure
where an empty linked list is represented as a value object with a NULL value, instead of a special value
object which 'points' to NULL.
Also modifies the test case to comply.
rdar://problem/9933692
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137289 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/scripts/Python/modify-python-lldb.py b/scripts/Python/modify-python-lldb.py
index 8a0edd7..a6e86c2 100644
--- a/scripts/Python/modify-python-lldb.py
+++ b/scripts/Python/modify-python-lldb.py
@@ -95,7 +95,7 @@
Return True if val is invalid or it corresponds to a null pointer.
Otherwise, return False.
"""
- if not val or int(val.GetValue(), 0) == 0:
+ if not val or val.GetValueAsUnsigned() == 0:
return True
else:
return False
@@ -127,8 +127,10 @@
for t in task_head.linked_list_iter('next'):
print t
"""
+ if end_of_list_test(self):
+ return
+ item = self
try:
- item = self.GetChildMemberWithName(next_item_name)
while not end_of_list_test(item):
yield item
# Prepare for the next iteration.