summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--io_buffer.c2
-rw-r--r--test/ruby/test_io_buffer.rb5
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