`ARY_CAPA` handles capacity for embedded arrays by itself.
MODIFY
src/string.c
src/string.c
@@ -2560,9 +2560,6 @@ mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len)
}
capa = RSTR_CAPA(s);
- if (capa <= RSTRING_EMBED_LEN_MAX)
- capa = RSTRING_EMBED_LEN_MAX+1;
-
total = RSTR_LEN(s)+len;
if (total >= MRB_INT_MAX) {
size_error:

`ARY_CAPA` handles capacity for embedded arrays by itself.