Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion lib/fiddle/ffi_backend.rb
Original file line number Diff line number Diff line change
Expand Up @@ -433,7 +433,11 @@ def to_value
end

def inspect
"#<#{self.class.name} ptr=#{to_i.to_s(16)} size=#{@size} free=#{@free.inspect}>"
inspect_ptr = lambda do |ptr|
addr = ptr.to_i
addr == 0 ? "0x#{"0"*(SIZEOF_VOIDP * 2)}" : sprintf("%#0#{SIZEOF_VOIDP * 2 + 2}x", addr)
end
"#<#{self.class.name} ptr=#{inspect_ptr.(self)} size=#{@size} free=#{inspect_ptr.(@free)}>"
Comment thread
kou marked this conversation as resolved.
Outdated
end

def +(delta)
Expand Down
4 changes: 0 additions & 4 deletions test/fiddle/test_pointer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,6 @@ def test_plus
end

def test_inspect
if ffi_backend?
omit("Fiddle::Pointer#inspect is incompatible with FFI backend")
end

ptr = Pointer.new(0)
inspect = ptr.inspect
assert_match(/size=#{ptr.size}/, inspect)
Expand Down
Loading