diff options
-rw-r--r-- | lib/ffi/pointer.rb | 5 | ||||
-rw-r--r-- | spec/ffi/pointer_spec.rb | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/ffi/pointer.rb b/lib/ffi/pointer.rb index a1d72e5..de4f91f 100644 --- a/lib/ffi/pointer.rb +++ b/lib/ffi/pointer.rb @@ -131,6 +131,11 @@ module FFI self end + # @return [self] + def to_ptr + self + end + # @param [Symbol,Type] type of data to read # @return [Object] # Read pointer's contents as +type+ 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 |