* string.c (rb_str_inspect): avoid exception by

"\#\xa1".force_encoding("euc-jp").inspect.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2008-01-27 11:09:41 +00:00
parent 36b4d1a1dc
commit b8b0f6fd46
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,8 @@
Sun Jan 27 19:51:15 2008 Tanaka Akira <akr@fsij.org>
* string.c (rb_str_inspect): avoid exception by
"\#\xa1".force_encoding("euc-jp").inspect.
Sun Jan 27 19:07:33 2008 Tanaka Akira <akr@fsij.org> Sun Jan 27 19:07:33 2008 Tanaka Akira <akr@fsij.org>
* string.c (rb_str_succ): warning suppressed. * string.c (rb_str_succ): warning suppressed.

View File

@ -3311,7 +3311,9 @@ rb_str_inspect(VALUE str)
p += n; p += n;
if (c == '"'|| c == '\\' || if (c == '"'|| c == '\\' ||
(c == '#' && p < pend && (c == '#' &&
p < pend &&
MBCLEN_CHARFOUND(rb_enc_precise_mbclen(p,pend,enc)) &&
(cc = rb_enc_codepoint(p,pend,enc), (cc = rb_enc_codepoint(p,pend,enc),
(cc == '$' || cc == '@' || cc == '{')))) { (cc == '$' || cc == '@' || cc == '{')))) {
prefix_escape(result, c, enc); prefix_escape(result, c, enc);