diff options
-rw-r--r-- | ext/fiddle/lib/fiddle/ffi_backend.rb | 8 | ||||
-rw-r--r-- | test/fiddle/test_pointer.rb | 4 |
2 files changed, 8 insertions, 4 deletions
diff --git a/ext/fiddle/lib/fiddle/ffi_backend.rb b/ext/fiddle/lib/fiddle/ffi_backend.rb index eac469aff6..0f068a75e0 100644 --- a/ext/fiddle/lib/fiddle/ffi_backend.rb +++ b/ext/fiddle/lib/fiddle/ffi_backend.rb @@ -261,6 +261,14 @@ module Fiddle end end + def self.write(addr, bytes) + FFI::Pointer.new(addr).write_bytes(bytes) + end + + def self.read(addr, len) + FFI::Pointer.new(addr).read_bytes(len) + end + class << self alias [] to_ptr end diff --git a/test/fiddle/test_pointer.rb b/test/fiddle/test_pointer.rb index d46fb662ba..673e7ca445 100644 --- a/test/fiddle/test_pointer.rb +++ b/test/fiddle/test_pointer.rb @@ -11,10 +11,6 @@ module Fiddle end def test_can_read_write_memory - if ffi_backend? - omit("Fiddle::Pointer.{read,write} don't exist in FFI backend") - end - # Allocate some memory Fiddle::Pointer.malloc(Fiddle::SIZEOF_VOIDP, Fiddle::RUBY_FREE) do |pointer| address = pointer.to_i |