In article <1072197138.772607.16885.nullmailer / picachu.netlab.jp>, matz / ruby-lang.org (Yukihiro Matsumoto) writes: > と思うので、今回は変更なしでよいと思います。Zlib::GzipReader > は私の方で手直ししておきましょうか。 zlib はこんなかんじでしょうか。 「例によって」buf は未サポートですが。 % ruby -rzlib -rstringio -e ' f = Zlib::GzipReader.new(StringIO.new("\037\213\010\000\000\000\000\000\000\003\003\000\000\000\000\000\000\000\000\000")) p f.read; p f.read' nil nil というのが % ruby -rzlib -rstringio -e ' f = Zlib::GzipReader.new(StringIO.new("\037\213\010\000\000\000\000\000\000\003\003\000\000\000\000\000\000\000\000\000")) p f.read; p f.read' "" "" と変わります。 なお、read(0) が常に nil を返しますが、まぁ気にしないということで。 Index: ext/zlib/zlib.c =================================================================== RCS file: /src/ruby/ext/zlib/zlib.c,v retrieving revision 1.6 diff -u -r1.6 zlib.c --- ext/zlib/zlib.c 6 Nov 2003 19:10:12 -0000 1.6 +++ ext/zlib/zlib.c 24 Dec 2003 10:04:54 -0000 @@ -1813,7 +1813,7 @@ if (!(gz->z.flags & GZFILE_FLAG_FOOTER_FINISHED)) { gzfile_check_footer(gz); } - return Qnil; + return rb_str_new(0, 0); } dst = zstream_detach_buffer(&gz->z); -- [田中 哲][たなか あきら][Tanaka Akira]