From 569ea74021bc9837a729f34591b4f8a174b98221 Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Thu, 3 Jul 2014 18:23:09 +0900 Subject: Use *_EMBED_* macro in state.c --- src/state.c | 9 ++++----- 1 file 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); } -- cgit v1.2.3