summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/ffi/pointer.rb5
-rw-r--r--spec/ffi/pointer_spec.rb7
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/ffi/pointer.rb b/lib/ffi/pointer.rb
index bfd9406..81859b1 100644
--- a/lib/ffi/pointer.rb
+++ b/lib/ffi/pointer.rb
@@ -130,5 +130,10 @@ module FFI
}
self
end
+
+ # @return [self]
+ def to_ptr
+ self
+ end
end
end
diff --git a/spec/ffi/pointer_spec.rb b/spec/ffi/pointer_spec.rb
index 19c1953..bc981e6 100644
--- a/spec/ffi/pointer_spec.rb
+++ b/spec/ffi/pointer_spec.rb
@@ -62,6 +62,13 @@ describe "Pointer" do
expect { PointerTestLib.ptr_ret_int32(0xfee1deadbeefcafebabe, 0) }.to raise_error
end
+ it "#to_ptr" do
+ memory = FFI::MemoryPointer.new :pointer
+ expect(memory.to_ptr).to eq(memory)
+
+ expect(FFI::Pointer::NULL.to_ptr).to eq(FFI::Pointer::NULL)
+ end
+
describe "pointer type methods" do
it "#read_pointer" do