summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-10 00:26:41 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-10 00:26:41 +0000
commit6ea60d53a4e3d5c4443ceb92dff506d613e3c4ef (patch)
tree6b4a6a095386b85168ee5c4ffae2c6380e7b58a0
parent699df7e678e7819e3cba26e8a1ef5b4872486896 (diff)
downloadruby-6ea60d53a4e3d5c4443ceb92dff506d613e3c4ef.tar.gz
ruby-6ea60d53a4e3d5c4443ceb92dff506d613e3c4ef.tar.xz
ruby-6ea60d53a4e3d5c4443ceb92dff506d613e3c4ef.zip
* 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
-rw-r--r--ChangeLog4
-rw-r--r--string.c2
-rw-r--r--test/ruby/test_m17n.rb2
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 <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]
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)