diff options
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | ext/zlib/zlib.c | 2 | ||||
| -rw-r--r-- | test/zlib/test_zlib.rb | 6 | ||||
| -rw-r--r-- | version.h | 2 |
4 files changed, 11 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Sun Aug 30 01:15:31 2009 NARUSE, Yui <naruse@ruby-lang.org> + + * ext/zlib/zlib.c (gzfile_read_all): use gzfile_newstr; + set and convert its encoding. [ruby-dev:38304] + Thu Aug 27 18:31:07 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * vm_method.c (rb_remove_method_id): exported. diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c index ffc566197..2c9fcbc9f 100644 --- a/ext/zlib/zlib.c +++ b/ext/zlib/zlib.c @@ -2198,7 +2198,7 @@ gzfile_read_all(struct gzfile *gz) dst = zstream_detach_buffer(&gz->z); gzfile_calc_crc(gz, dst); OBJ_TAINT(dst); - return dst; + return gzfile_newstr(gz, dst); } static VALUE diff --git a/test/zlib/test_zlib.rb b/test/zlib/test_zlib.rb index 9e4cf8003..630172077 100644 --- a/test/zlib/test_zlib.rb +++ b/test/zlib/test_zlib.rb @@ -442,10 +442,12 @@ if defined? Zlib def test_read t = Tempfile.new("test_zlib_gzip_reader") t.close - Zlib::GzipWriter.open(t.path) {|gz| gz.print("foobar") } + str = "\u3042\u3044\u3046" + Zlib::GzipWriter.open(t.path) {|gz| gz.print(str) } - f = Zlib::GzipReader.open(t.path) + f = Zlib::GzipReader.open(t.path, encoding: "UTF-8") assert_raise(ArgumentError) { f.read(-1) } + assert_equal(str, f.read) end def test_readpartial @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.1" -#define RUBY_PATCHLEVEL 306 +#define RUBY_PATCHLEVEL 307 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 |
