summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-02-05 04:31:18 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-02-05 04:31:18 +0000
commit3889ce2d156bef45c1f05463fc2cd54a309a1e7e (patch)
treead72f786aa428e620587d3d9798c6227916a8423 /string.c
parent38cd45a3cdacf6d0bea95e3da41d7ae09da90fb7 (diff)
* string.c (rb_str_free): use FL_TEST(str, STR_SHARED) directly
because str is not embed. * string.c (str_replace): remove `FL_SET(str, STR_SHARED)' line because STR_SET_SHARED() set STR_SHARED. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'string.c')
-rw-r--r--string.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/string.c b/string.c
index 929ba516ff..0110c0a3a0 100644
--- a/string.c
+++ b/string.c
@@ -915,7 +915,8 @@ rb_str_free(VALUE str)
st_data_t fstr = (st_data_t)str;
st_delete(frozen_strings, &fstr, NULL);
}
- if (!STR_EMBED_P(str) && !STR_SHARED_P(str)) {
+
+ if (!STR_EMBED_P(str) && !FL_TEST(str, STR_SHARED)) {
ruby_sized_xfree(STR_HEAP_PTR(str), STR_HEAP_SIZE(str));
}
}
@@ -1009,7 +1010,6 @@ str_replace(VALUE str, VALUE str2)
STR_SET_NOEMBED(str);
RSTRING(str)->as.heap.len = len;
RSTRING(str)->as.heap.ptr = RSTRING_PTR(str2);
- FL_SET(str, STR_SHARED);
STR_SET_SHARED(str, shared);
}
else {