diff options
author | Samuel Williams <[email protected]> | 2021-12-20 12:17:38 +1300 |
---|---|---|
committer | Samuel Williams <[email protected]> | 2021-12-21 12:25:42 +1300 |
commit | da46b8d8e5d09f896fb1af5dabea12820f02b3d6 (patch) | |
tree | 622b55ab5b16d87d88d98cc1fb21a5d14f4e3b26 | |
parent | c3d8d26ad744d2a2dada135196e7d694d2966008 (diff) |
Default `IO::Buffer#get_string` to use BINARY encoding.
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/5303
-rw-r--r-- | io_buffer.c | 2 | ||||
-rw-r--r-- | test/ruby/test_io_buffer.rb | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/io_buffer.c b/io_buffer.c index 075a9bfb78..63f5bd2c24 100644 --- a/io_buffer.c +++ b/io_buffer.c @@ -1125,7 +1125,7 @@ io_buffer_get_string(int argc, VALUE *argv, VALUE self) size_t offset = 0; size_t length = data->size; - rb_encoding *encoding = NULL; + rb_encoding *encoding = rb_ascii8bit_encoding(); if (argc >= 1) { offset = NUM2SIZET(argv[0]); diff --git a/test/ruby/test_io_buffer.rb b/test/ruby/test_io_buffer.rb index 0a8685d9d5..f2b9ca45e1 100644 --- a/test/ruby/test_io_buffer.rb +++ b/test/ruby/test_io_buffer.rb @@ -71,7 +71,10 @@ class TestIOBuffer < Test::Unit::TestCase def test_file_mapped buffer = File.open(__FILE__) {|file| IO::Buffer.map(file)} - assert_include buffer.get_string, "Hello World" + contents = buffer.get_string + + assert_include contents, "Hello World" + assert_equal Encoding::BINARY, contents.encoding end def test_file_mapped_invalid |