summaryrefslogtreecommitdiffhomepage
path: root/src/string.c
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-11-07 22:16:59 +0900
committerKOBAYASHI Shuji <[email protected]>2019-11-07 22:16:59 +0900
commit45aa5081e418423b47a32a06e0515406f63b64d2 (patch)
treee86f696e4dcead36e4b8ac3fca0795c264929504 /src/string.c
parentc10e191ac70a78f99a1255dfa1bd9d7ffa803eb7 (diff)
downloadmruby-45aa5081e418423b47a32a06e0515406f63b64d2.tar.gz
mruby-45aa5081e418423b47a32a06e0515406f63b64d2.zip
Clear `MRB_STR_SHARED` flag in `mrb_str_modify_keep_ascii`; close #4807
Diffstat (limited to 'src/string.c')
-rw-r--r--src/string.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/string.c b/src/string.c
index b69a39df8..251e00628 100644
--- a/src/string.c
+++ b/src/string.c
@@ -820,6 +820,7 @@ mrb_str_modify_keep_ascii(mrb_state *mrb, struct RString *s)
if (shared->refcnt == 1 && s->as.heap.ptr == shared->ptr) {
s->as.heap.aux.capa = shared->capa;
s->as.heap.ptr[s->as.heap.len] = '\0';
+ RSTR_UNSET_SHARED_FLAG(s);
mrb_free(mrb, shared);
}
else {