diff options
| -rw-r--r-- | src/string.c | 14 | ||||
| -rw-r--r-- | test/t/string.rb | 2 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/string.c b/src/string.c index c2284d552..e8c60a660 100644 --- a/src/string.c +++ b/src/string.c @@ -2542,10 +2542,10 @@ mrb_str_dump(mrb_state *mrb, mrb_value str) } else { *q++ = '\\'; - q[2] = '0' + c % 8; c /= 8; - q[1] = '0' + c % 8; c /= 8; - q[0] = '0' + c % 8; - q += 3; + *q++ = 'x'; + q[1] = mrb_digitmap[c % 16]; c /= 16; + q[0] = mrb_digitmap[c % 16]; + q += 2; } } } @@ -2685,9 +2685,9 @@ mrb_str_inspect(mrb_state *mrb, mrb_value str) } else { buf[0] = '\\'; - buf[3] = '0' + c % 8; c /= 8; - buf[2] = '0' + c % 8; c /= 8; - buf[1] = '0' + c % 8; + buf[1] = 'x'; + buf[3] = mrb_digitmap[c % 16]; c /= 16; + buf[2] = mrb_digitmap[c % 16]; mrb_str_cat(mrb, result, buf, 4); continue; } diff --git a/test/t/string.rb b/test/t/string.rb index 6351d5d98..a1277ce99 100644 --- a/test/t/string.rb +++ b/test/t/string.rb @@ -685,7 +685,7 @@ assert('String#inspect', '15.2.10.5.46') do ("\1" * 100).inspect end - assert_equal "\"\\000\"", "\0".inspect + assert_equal "\"\\x00\"", "\0".inspect end # Not ISO specified |
