summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-03-07 18:51:32 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-03-07 18:51:32 +0900
commitac8d04fb6c2072c9af0b0587044360dde3b3b77d (patch)
treeab80df9179be235331935999dc4393670746a5ea /src/class.c
parent035898c7215c417e2ba24e759c033710ac74c6cc (diff)
parent4bc19d5fadaf85523774eac29520cca03a1516b1 (diff)
downloadmruby-ac8d04fb6c2072c9af0b0587044360dde3b3b77d.tar.gz
mruby-ac8d04fb6c2072c9af0b0587044360dde3b3b77d.zip
Merge pull request #1820 from ksss/string-embed
Embed small string
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/class.c b/src/class.c
index 8188db131..9880a82fa 100644
--- a/src/class.c
+++ b/src/class.c
@@ -511,7 +511,6 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
case 's':
{
mrb_value ss;
- struct RString *s;
char **ps = 0;
int *pl = 0;
@@ -519,9 +518,8 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
pl = va_arg(ap, int*);
if (i < argc) {
ss = to_str(mrb, *sp++);
- s = mrb_str_ptr(ss);
- *ps = s->ptr;
- *pl = s->len;
+ *ps = RSTRING_PTR(ss);
+ *pl = RSTRING_LEN(ss);
i++;
}
}
@@ -537,14 +535,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(RSTRING_PTR(ss));
+ if (len < RSTRING_LEN(ss)) {
mrb_raise(mrb, E_ARGUMENT_ERROR, "string contains null byte");
}
- else if (len > s->len) {
+ else if (len > RSTRING_LEN(ss)) {
mrb_str_modify(mrb, s);
}
- *ps = s->ptr;
+ *ps = RSTRING_PTR(ss);
i++;
}
}
@@ -1298,7 +1296,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 RSTRING_PTR(path);
}
const char*