diff --git a/lib/fiddle/ffi_backend.rb b/lib/fiddle/ffi_backend.rb index 1ca27568..3a06983f 100644 --- a/lib/fiddle/ffi_backend.rb +++ b/lib/fiddle/ffi_backend.rb @@ -240,7 +240,7 @@ def self.from_native(value, ctx) def self.to_ptr(value) if value.is_a?(String) cptr = Pointer.malloc(value.bytesize) - cptr.ffi_ptr.put_string(0, value) + cptr.ffi_ptr.put_bytes(0, value) cptr elsif value.is_a?(Array) @@ -412,7 +412,7 @@ def to_s(len = nil) if len ffi_ptr.read_string(len) else - ffi_ptr.get_string(0) + ffi_ptr.get_string(0, @size) end rescue FFI::NullPointerError raise DLError.new("NULL pointer access")