123456789_123456789_123456789_123456789_123456789_

Class: FFI::StrPtrConverter

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
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

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

Parameters:

[ GitHub ]

  
# File 'lib/ffi/types.rb', line 199

def self.from_native(val, ctx)
  [ val.null? ? nil : val.get_string(0), val ]
end