Unverified Commit d128e2d0 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto Committed by GitHub

Merge pull request #4770 from shuujii/sHARED-string-is-not-required-when-sharing-POOL-string

SHARED string is not required when sharing POOL string
parents 9f3b6ebb 75949836
...@@ -526,7 +526,7 @@ str_share(mrb_state *mrb, struct RString *orig, struct RString *s) ...@@ -526,7 +526,7 @@ str_share(mrb_state *mrb, struct RString *orig, struct RString *s)
size_t len = (size_t)orig->as.heap.len; size_t len = (size_t)orig->as.heap.len;
mrb_assert(!RSTR_EMBED_P(orig)); mrb_assert(!RSTR_EMBED_P(orig));
if (RSTR_NOFREE_P(orig)) { if (RSTR_NOFREE_P(orig) || RSTR_POOL_P(orig)) {
str_init_nofree(s, orig->as.heap.ptr, len); str_init_nofree(s, orig->as.heap.ptr, len);
} }
else if (RSTR_SHARED_P(orig)) { else if (RSTR_SHARED_P(orig)) {
...@@ -535,7 +535,7 @@ str_share(mrb_state *mrb, struct RString *orig, struct RString *s) ...@@ -535,7 +535,7 @@ str_share(mrb_state *mrb, struct RString *orig, struct RString *s)
else if (RSTR_FSHARED_P(orig)) { else if (RSTR_FSHARED_P(orig)) {
str_init_fshared(orig, s, orig->as.heap.aux.fshared); str_init_fshared(orig, s, orig->as.heap.aux.fshared);
} }
else if (mrb_frozen_p(orig) && !RSTR_POOL_P(orig)) { else if (mrb_frozen_p(orig)) {
str_init_fshared(orig, s, orig); str_init_fshared(orig, s, orig);
} }
else { else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment