From 4070b5987a76a2d633a99e137035749559e2da59 Mon Sep 17 00:00:00 2001 From: ksss Date: Sun, 2 Mar 2014 11:04:04 +0000 Subject: embed small string use flags 4 for *this object is embed* use flags 8~64 for *embed string length* --- src/class.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 8188db131..a1181d716 100644 --- a/src/class.c +++ b/src/class.c @@ -520,8 +520,8 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) if (i < argc) { ss = to_str(mrb, *sp++); s = mrb_str_ptr(ss); - *ps = s->ptr; - *pl = s->len; + *ps = s->as.heap.ptr; + *pl = s->as.heap.len; i++; } } @@ -537,14 +537,14 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) if (i < argc) { ss = to_str(mrb, *sp++); s = mrb_str_ptr(ss); - len = (mrb_int)strlen(s->ptr); - if (len < s->len) { + len = (mrb_int)strlen(s->as.heap.ptr); + if (len < s->as.heap.len) { mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte"); } - else if (len > s->len) { + else if (len > s->as.heap.len) { mrb_str_modify(mrb, s); } - *ps = s->ptr; + *ps = s->as.heap.ptr; i++; } } @@ -1298,7 +1298,7 @@ mrb_class_name(mrb_state *mrb, struct RClass* c) mrb_str_concat(mrb, path, mrb_ptr_to_str(mrb, c)); mrb_str_cat_lit(mrb, path, ">"); } - return mrb_str_ptr(path)->ptr; + return mrb_str_ptr(path)->as.heap.ptr; } const char* -- cgit v1.2.3