inspect prints valid UTF-8 character without escaping

This commit is contained in:
Yukihiro "Matz" Matsumoto
2015-09-25 23:09:46 +09:00
parent c069e5ff40
commit 524a038876
+14
View File
@@ -2575,7 +2575,21 @@ mrb_str_inspect(mrb_state *mrb, mrb_value str)
p = RSTRING_PTR(str); pend = RSTRING_END(str);
for (;p < pend; p++) {
unsigned char c, cc;
#ifdef MRB_UTF8_STRING
mrb_int clen;
clen = utf8len(p, pend);
if (clen > 1) {
mrb_int i;
for (i=0; i<clen; i++) {
buf[i] = p[i];
}
mrb_str_cat(mrb, result, buf, clen);
p += clen;
continue;
}
#endif
c = *p;
if (c == '"'|| c == '\\' || (c == '#' && IS_EVSTR(p, pend))) {
buf[0] = '\\'; buf[1] = c;