diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-10 00:26:41 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-10 00:26:41 +0000 |
commit | e5dc8988af97526c5831bd347358ad2795a0834e (patch) | |
tree | 6b4a6a095386b85168ee5c4ffae2c6380e7b58a0 | |
parent | 17897462b22d185dba18aba4f3405f17ad689cae (diff) |
* string.c (rb_str_inspect): CHAR_ESC_LEN should be 13.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | string.c | 2 | ||||
-rw-r--r-- | test/ruby/test_m17n.rb | 2 |
3 files changed, 6 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Thu Dec 10 09:15:00 2009 NARUSE, Yui <naruse@ruby-lang.org> + + * string.c (rb_str_inspect): CHAR_ESC_LEN should be 13. + Thu Dec 10 01:12:55 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * parse.y (dyna_pop_gen): pop dvars. [ruby-dev:39861] @@ -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 e5c0acb034..3d24580ff1 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) |