summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-07-03 21:44:02 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-07-03 21:44:02 +0900
commit65512f6557887c00af074eb3371f08bfb89dea63 (patch)
treebfd9a7397d99c6f51e85d4af5ae62bb9b757e0d4
parent628615d980dd4e7d85f0a1affd901922ad0088a1 (diff)
parent569ea74021bc9837a729f34591b4f8a174b98221 (diff)
downloadmruby-65512f6557887c00af074eb3371f08bfb89dea63.tar.gz
mruby-65512f6557887c00af074eb3371f08bfb89dea63.zip
Merge pull request #2443 from suzukaze/use-mrb-str-emebed-macro
Use *_EMBED_* macro in state.c
-rw-r--r--src/state.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/state.c b/src/state.c
index 8857d3294..6ce429c7e 100644
--- a/src/state.c
+++ b/src/state.c
@@ -190,9 +190,9 @@ mrb_str_pool(mrb_state *mrb, mrb_value str)
}
else {
ns->flags = 0;
- if (s->flags & MRB_STR_EMBED) {
+ if (RSTR_EMBED_P(s)) {
ptr = s->as.ary;
- len = (mrb_int)((s->flags & MRB_STR_EMBED_LEN_MASK) >> MRB_STR_EMBED_LEN_SHIFT);
+ len = RSTR_EMBED_LEN(s);
}
else {
ptr = s->as.heap.ptr;
@@ -200,9 +200,8 @@ mrb_str_pool(mrb_state *mrb, mrb_value str)
}
if (len < RSTRING_EMBED_LEN_MAX) {
- ns->flags |= MRB_STR_EMBED;
- ns->flags &= ~MRB_STR_EMBED_LEN_MASK;
- ns->flags |= (size_t)len << MRB_STR_EMBED_LEN_SHIFT;
+ RSTR_SET_EMBED_FLAG(ns);
+ RSTR_SET_EMBED_LEN(ns, len);
if (ptr) {
memcpy(ns->as.ary, ptr, len);
}