Class: FFI::StrPtrConverter
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
DataConverter
|
|
Inherits: | Object |
Defined in: | lib/ffi/types.rb |
Overview
This will convert a pointer to a Ruby string (just like :string
), but also allow to work with the pointer itself. This is useful when you want a Ruby string already containing a copy of the data, but also the pointer to the data for you to do something with it, like freeing it, in case the library handed the memory off to the caller (Ruby-FFI).
It’s typedef‘d as :strptr
.
Class Method Summary
-
.from_native(val, ctx) ⇒ Array(String, Pointer)
Returns a [ String,
Pointer
] tuple so the C memory for the string can be freed.
DataConverter
- Extended
from_native | Convert from a native type. |
native_type | Get native type. |
to_native | Convert to a native type. |
Class Method Details
.from_native(val, ctx) ⇒ Array
(String
, Pointer)
Returns a [ String, Pointer
] tuple so the C memory for the string can be freed
# File 'lib/ffi/types.rb', line 199
def self.from_native(val, ctx) [ val.null? ? nil : val.get_string(0), val ] end