ruby-changes:7726
From: akr <ko1@a...>
Date: Mon, 8 Sep 2008 23:09:01 +0900 (JST)
Subject: [ruby-changes:7726] Ruby:r19247 (trunk): * transcode.c (rb_econv_insert_output): "readagain" part should be
akr 2008-09-08 23:08:44 +0900 (Mon, 08 Sep 2008) New Revision: 19247 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19247 Log: * transcode.c (rb_econv_insert_output): "readagain" part should be after replacement. Modified files: trunk/ChangeLog trunk/test/ruby/test_econv.rb trunk/transcode.c Index: ChangeLog =================================================================== --- ChangeLog (revision 19246) +++ ChangeLog (revision 19247) @@ -1,3 +1,8 @@ +Mon Sep 8 23:05:42 2008 Tanaka Akira <akr@f...> + + * transcode.c (rb_econv_insert_output): "readagain" part should be + after replacement. + Mon Sep 8 22:30:03 2008 NARUSE, Yui <naruse@r...> * dir.c (dir_initialize): rename option name of Dir.open Index: test/ruby/test_econv.rb =================================================================== --- test/ruby/test_econv.rb (revision 19246) +++ test/ruby/test_econv.rb (revision 19247) @@ -798,4 +798,9 @@ assert_equal("&\u3046\u2661&\"'".force_encoding("utf-8"), "&\u3046\u2661&\"'".encode("utf-8", xml: :text)) end + + def test_iso2022jp_invalid_replace + assert_equal("?x".force_encoding("iso-2022-jp"), + "\222\xA1x".encode("iso-2022-jp", "stateless-iso-2022-jp", :invalid => :replace)) + end end Index: transcode.c =================================================================== --- transcode.c (revision 19246) +++ transcode.c (revision 19247) @@ -1578,13 +1578,13 @@ } } + memcpy(*data_end_p, insert_str, insert_len); + *data_end_p += insert_len; if (tc && tc->transcoder->stateful_type == stateful_encoder) { memcpy(*data_end_p, TRANSCODING_READBUF(tc)+tc->recognized_len, tc->readagain_len); *data_end_p += tc->readagain_len; tc->readagain_len = 0; } - memcpy(*data_end_p, insert_str, insert_len); - *data_end_p += insert_len; if (insert_str != str && insert_str != insert_buf) xfree((void*)insert_str); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/