From caf291e81eff5d27dbdb14b26045dfb290069626 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Fri, 18 Apr 2025 18:19:07 -0700 Subject: [PATCH] Make Fiddle::Pointer#to_s with JRuby consistent with CRuby --- lib/fiddle/ffi_backend.rb | 3 +-- test/fiddle/test_pointer.rb | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/fiddle/ffi_backend.rb b/lib/fiddle/ffi_backend.rb index 5cfceb19..1ca27568 100644 --- a/lib/fiddle/ffi_backend.rb +++ b/lib/fiddle/ffi_backend.rb @@ -408,10 +408,9 @@ def to_i end alias to_int to_i - # without \0 def to_s(len = nil) if len - ffi_ptr.get_string(0, len) + ffi_ptr.read_string(len) else ffi_ptr.get_string(0) end diff --git a/test/fiddle/test_pointer.rb b/test/fiddle/test_pointer.rb index 9d490f9f..59ea8fa1 100644 --- a/test/fiddle/test_pointer.rb +++ b/test/fiddle/test_pointer.rb @@ -92,6 +92,7 @@ def test_to_s ptr[5] = 0 assert_equal 'hello', ptr.to_s + assert_equal "hello\0", ptr.to_s(6) end def test_minus