ruby-changes:19953
From: nobu <ko1@a...>
Date: Sat, 11 Jun 2011 18:05:32 +0900 (JST)
Subject: [ruby-changes:19953] nobu:r32000 (trunk): * io.c (io_getc): should be 7bit if ascii. fixes #4557
nobu 2011-06-11 18:02:11 +0900 (Sat, 11 Jun 2011) New Revision: 32000 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32000 Log: * io.c (io_getc): should be 7bit if ascii. fixes #4557 Modified files: trunk/ChangeLog trunk/io.c trunk/test/ruby/test_io_m17n.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 31999) +++ ChangeLog (revision 32000) @@ -1,3 +1,7 @@ +Sat Jun 11 18:02:09 2011 Nobuyoshi Nakada <nobu@r...> + + * io.c (io_getc): should be 7bit if ascii. fixes #4557 + Sat Jun 11 16:52:16 2011 Nobuyoshi Nakada <nobu@r...> * numeric.c (rb_enc_uint_chr): fix message format. Bug#4869 Index: io.c =================================================================== --- io.c (revision 31999) +++ io.c (revision 32000) @@ -2887,7 +2887,7 @@ } else { io_shift_cbuf(fptr, MBCLEN_CHARFOUND_LEN(r), &str); - cr = ENC_CODERANGE_VALID; + cr = ISASCII(r) ? ENC_CODERANGE_7BIT : ENC_CODERANGE_VALID; } str = io_enc_str(str, fptr); ENC_CODERANGE_SET(str, cr); Index: test/ruby/test_io_m17n.rb =================================================================== --- test/ruby/test_io_m17n.rb (revision 31999) +++ test/ruby/test_io_m17n.rb (revision 32000) @@ -2060,5 +2060,14 @@ r.close end) end + + def test_getc_ascii_only + bug4557 = '[ruby-core:35630]' + c = with_tmpdir { + open("a", "wb") {|f| f.puts "a"} + open("a", "rt") {|f| f.getc} + } + assert(c.ascii_only?, "should be ascii_only #{bug4557}") + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/