From ca95a69ca8ff2d36173acecb090d485ecb04e71d Mon Sep 17 00:00:00 2001 From: yugui Date: Mon, 4 May 2009 12:30:06 +0000 Subject: merges r23160 from trunk into ruby_1_9_1. -- * 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/branches/ruby_1_9_1@23334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ string.c | 2 +- test/ruby/test_m17n.rb | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4e052abad..c61bcd894 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Apr 8 21:58:12 2009 Yusuke Endoh + + * 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 * string.c (rb_str_rstrip_bang): should not sign-expand non-ascii. diff --git a/string.c b/string.c index 160335439..8e264d53a 100644 --- a/string.c +++ b/string.c @@ -4167,7 +4167,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 2f435f645..e327ead04 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 -- cgit