diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-08 13:05:07 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-04-08 13:05:07 +0000 |
commit | 09978bfd11c45aa84f21f8f3feb8d1fd443a9ae5 (patch) | |
tree | 950fd093eb3040ffa35cacdf1262fc0eb534b588 | |
parent | e28369ebe894cb8e0b6fd6eee6a51f41a44469d8 (diff) | |
download | ruby-09978bfd11c45aa84f21f8f3feb8d1fd443a9ae5.tar.gz ruby-09978bfd11c45aa84f21f8f3feb8d1fd443a9ae5.tar.xz ruby-09978bfd11c45aa84f21f8f3feb8d1fd443a9ae5.zip |
* string.c (rb_str_dump): buffer length plus one byte for null
terminator. [ruby-dev:38294]
* test/ruby/test_m17n.rb (test_str_dump): add a test for above.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@23160 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | string.c | 2 | ||||
-rw-r--r-- | test/ruby/test_m17n.rb | 3 |
3 files changed, 11 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Wed Apr 8 21:58:12 2009 Yusuke Endoh <mame@tsg.ne.jp> + + * string.c (rb_str_dump): buffer length plus one byte for null + terminator. [ruby-dev:38294] + + * test/ruby/test_m17n.rb (test_str_dump): add a test for above. + Wed Apr 8 20:08:16 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * string.c (rb_str_rstrip_bang): should not sign-expand non-ascii. @@ -4291,7 +4291,7 @@ rb_str_dump(VALUE str) result = rb_str_new5(str, 0, len); p = RSTRING_PTR(str); pend = p + RSTRING_LEN(str); - q = RSTRING_PTR(result); qend = q + len; + q = RSTRING_PTR(result); qend = q + len + 1; *q++ = '"'; while (p < pend) { diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index efdc20c18..4ddec0371 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -241,6 +241,9 @@ class TestM17N < Test::Unit::TestCase u("\xfc"), "\u3042", "ascii", + + "\u3042".encode("UTF-16LE"), + "\u3042".encode("UTF-16BE"), ].each do |str| assert_equal(str, eval(str.dump), "[ruby-dev:33142]") end |