diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-07-03 21:44:02 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-07-03 21:44:02 +0900 |
| commit | 65512f6557887c00af074eb3371f08bfb89dea63 (patch) | |
| tree | bfd9a7397d99c6f51e85d4af5ae62bb9b757e0d4 /src | |
| parent | 628615d980dd4e7d85f0a1affd901922ad0088a1 (diff) | |
| parent | 569ea74021bc9837a729f34591b4f8a174b98221 (diff) | |
| download | mruby-65512f6557887c00af074eb3371f08bfb89dea63.tar.gz mruby-65512f6557887c00af074eb3371f08bfb89dea63.zip | |
Merge pull request #2443 from suzukaze/use-mrb-str-emebed-macro
Use *_EMBED_* macro in state.c
Diffstat (limited to 'src')
| -rw-r--r-- | src/state.c | 9 |
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); } |
