diff options
| author | ksss <[email protected]> | 2014-03-02 11:04:04 +0000 |
|---|---|---|
| committer | ksss <[email protected]> | 2014-03-06 13:12:08 +0000 |
| commit | 4070b5987a76a2d633a99e137035749559e2da59 (patch) | |
| tree | 0a753936d9fc52112b1e9c8f2e623a0542afc298 /mrbgems | |
| parent | e40428af7b02870663a6c052496c176c22c5e875 (diff) | |
| download | mruby-4070b5987a76a2d633a99e137035749559e2da59.tar.gz mruby-4070b5987a76a2d633a99e137035749559e2da59.zip | |
embed small string
use flags 4 for *this object is embed*
use flags 8~64 for *embed string length*
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-print/src/print.c | 4 | ||||
| -rw-r--r-- | mrbgems/mruby-sprintf/src/sprintf.c | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-string-ext/src/string.c | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/mrbgems/mruby-print/src/print.c b/mrbgems/mruby-print/src/print.c index 788b924f0..0cdbad6d4 100644 --- a/mrbgems/mruby-print/src/print.c +++ b/mrbgems/mruby-print/src/print.c @@ -11,8 +11,8 @@ printstr(mrb_state *mrb, mrb_value obj) if (mrb_string_p(obj)) { str = mrb_str_ptr(obj); - s = str->ptr; - len = str->len; + s = str->as.heap.ptr; + len = str->as.heap.len; fwrite(s, len, 1, stdout); } } diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index ff9627437..785068999 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -712,7 +712,7 @@ retry: if (*p == 'p') arg = mrb_inspect(mrb, arg); str = mrb_obj_as_string(mrb, arg); len = RSTRING_LEN(str); - RSTRING_LEN(result) = blen; + RSTRING(result)->as.heap.len = blen; if (flags&(FPREC|FWIDTH)) { slen = RSTRING_LEN(str); if (slen < 0) { diff --git a/mrbgems/mruby-string-ext/src/string.c b/mrbgems/mruby-string-ext/src/string.c index f194bbc0e..274acf6f4 100644 --- a/mrbgems/mruby-string-ext/src/string.c +++ b/mrbgems/mruby-string-ext/src/string.c @@ -33,8 +33,8 @@ mrb_str_swapcase_bang(mrb_state *mrb, mrb_value str) struct RString *s = mrb_str_ptr(str); mrb_str_modify(mrb, s); - p = s->ptr; - pend = s->ptr + s->len; + p = s->as.heap.ptr; + pend = s->as.heap.ptr + s->as.heap.len; while (p < pend) { if (ISUPPER(*p)) { *p = TOLOWER(*p); |
