diff options
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 11 |
1 files changed, 9 insertions, 2 deletions
@@ -13304,8 +13304,15 @@ rb_raw_obj_info(char *buff, const int buff_size, VALUE obj) } break; case T_STRING: { - if (STR_SHARED_P(obj)) APPENDF((BUFF_ARGS, " [shared] ")); - APPENDF((BUFF_ARGS, "%.*s", str_len_no_raise(obj), RSTRING_PTR(obj))); + if (STR_SHARED_P(obj)) { + APPENDF((BUFF_ARGS, " [shared] len: %ld", RSTRING_LEN(obj))); + } + else { + if (STR_EMBED_P(obj)) APPENDF((BUFF_ARGS, " [embed]")); + + APPENDF((BUFF_ARGS, " len: %ld, capa: %ld", RSTRING_LEN(obj), rb_str_capacity(obj))); + } + APPENDF((BUFF_ARGS, " \"%.*s\"", str_len_no_raise(obj), RSTRING_PTR(obj))); break; } case T_SYMBOL: { |