From 6ea60d53a4e3d5c4443ceb92dff506d613e3c4ef Mon Sep 17 00:00:00 2001 From: naruse Date: Thu, 10 Dec 2009 00:26:41 +0000 Subject: * string.c (rb_str_inspect): CHAR_ESC_LEN should be 13. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@26057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ string.c | 2 +- test/ruby/test_m17n.rb | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 276e253ca..3a3c601df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Dec 10 09:15:00 2009 NARUSE, Yui + + * string.c (rb_str_inspect): CHAR_ESC_LEN should be 13. + Thu Dec 10 01:12:55 2009 Nobuyoshi Nakada * parse.y (dyna_pop_gen): pop dvars. [ruby-dev:39861] diff --git a/string.c b/string.c index deab22b9e..2dcc3305a 100644 --- a/string.c +++ b/string.c @@ -4048,7 +4048,7 @@ rb_str_inspect(VALUE str) { rb_encoding *enc = STR_ENC_GET(str); const char *p, *pend, *prev; -#define CHAR_ESC_LEN 12 /* sizeof(\x{ hex of 32bit unsigned int }) */ +#define CHAR_ESC_LEN 13 /* sizeof(\x{ hex of 32bit unsigned int } \0) */ char buf[CHAR_ESC_LEN + 1]; VALUE result = rb_str_buf_new(0); rb_encoding *resenc = rb_default_internal_encoding(); diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index e5c0acb03..3d24580ff 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -200,7 +200,7 @@ class TestM17N < Test::Unit::TestCase assert_equal('"\xF8\x80\x80\x80 "', u("\xf8\x80\x80\x80 ").inspect) assert_equal('"\xFC\x80\x80\x80\x80 "', u("\xfc\x80\x80\x80\x80 ").inspect) - + assert_equal('"\x{81308130}"', "\x81\x30\x81\x30".force_encoding('GB18030').inspect) assert_equal("\"\\xA1\\x{8FA1A1}\"", e("\xa1\x8f\xa1\xa1").inspect) assert_equal('"\x81."', s("\x81.").inspect) -- cgit