Skip to content

Commit ce717be

Browse files
committed
Fix RBignum print [ci skip]
1 parent 9fa7ec9 commit ce717be

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

misc/lldb_rb/rb_heap_structs.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,12 @@ def ary_len(self):
132132
return len
133133

134134
def bignum_len(self):
135-
if self.flags & flUser2:
135+
if self.flags & self.flUser2:
136136
len = ((self.flags &
137137
(self.flUser3 | self.flUser4 | self.flUser5)
138138
) >> (self.flUshift + 3))
139139
else:
140-
len = self.val.GetValueForExpressionPath("->as.heap.len")
140+
len = (self.as_type("bignum").GetValueForExpressionPath("->as.heap.len").
141+
GetValueAsUnsigned())
141142

142143
return len

misc/lldb_rb/utils.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,6 @@ def inspect(self, val):
175175
self._append_command_output("p *(struct RHash *) %0#x" % val.GetValueAsUnsigned())
176176

177177
elif rval.is_type("RUBY_T_BIGNUM"):
178-
tRBignum = self.target.FindFirstType("struct RBignum").GetPointerType()
179-
180178
sign = '-'
181179
if (rval.flags & self.ruby_globals["RUBY_FL_USER1"]) != 0:
182180
sign = '+'
@@ -188,9 +186,9 @@ def inspect(self, val):
188186
% val.GetValueAsUnsigned())
189187
else:
190188
print("T_BIGNUM: sign=%s len=%d" % (sign, len), file=self.result)
191-
print(val.Dereference(), file=self.result)
189+
print(rval.as_type("bignum"), file=self.result)
192190
self._append_command_output(
193-
"expression -Z %x -fx -- (const BDIGIT*)((struct RBignum*)%d)->as.heap.digits" %
191+
"expression -Z %d -fx -- ((struct RBignum*)%d)->as.heap.digits" %
194192
(len, val.GetValueAsUnsigned()))
195193

196194
elif rval.is_type("RUBY_T_FLOAT"):

0 commit comments

Comments
 (0)