diff options
Diffstat (limited to 'src/symbol.c')
| -rw-r--r-- | src/symbol.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/symbol.c b/src/symbol.c index 7206778d6..1b106ad98 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -394,15 +394,17 @@ sym_inspect(mrb_state *mrb, mrb_value sym) const char *name; mrb_int len; mrb_sym id = mrb_symbol(sym); + char *sp; name = mrb_sym2name_len(mrb, id, &len); str = mrb_str_new(mrb, 0, len+1); - RSTRING_PTR(str)[0] = ':'; - memcpy(RSTRING_PTR(str)+1, name, len); + sp = RSTRING_PTR(str); + sp[0] = ':'; + memcpy(sp+1, name, len); if (!symname_p(name) || strlen(name) != len) { str = mrb_str_dump(mrb, str); - RSTRING_PTR(str)[0] = ':'; - RSTRING_PTR(str)[1] = '"'; + sp[0] = ':'; + sp[1] = '"'; } return str; } |
