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.