summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-08-07 16:20:40 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-08-07 16:20:40 +0900
commitb377b7d58062d555cc45249ae038c8b2875eec9e (patch)
treea68722a5f9c70cb3eee3458cd87edadcd8eafbc5 /src/class.c
parent98fc887cb3d9458313cc275c4176d16e95c7c0c2 (diff)
downloadmruby-b377b7d58062d555cc45249ae038c8b2875eec9e.tar.gz
mruby-b377b7d58062d555cc45249ae038c8b2875eec9e.zip
Update `mrb_to_str` and related functions.
Contrary to the name, `mrb_to_str` just checks type, no conversion.
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/src/class.c b/src/class.c
index 5b190d28b..f66c5794d 100644
--- a/src/class.c
+++ b/src/class.c
@@ -499,30 +499,17 @@ mrb_notimplement_m(mrb_state *mrb, mrb_value self)
return mrb_nil_value();
}
-#define CHECK_TYPE(mrb, val, t, c) do { \
- if (mrb_type(val) != (t)) {\
- mrb_raisef(mrb, E_TYPE_ERROR, "expected %l", c, sizeof(c "")-1);\
- }\
-} while (0)
-
-static mrb_value
-to_str(mrb_state *mrb, mrb_value val)
-{
- CHECK_TYPE(mrb, val, MRB_TT_STRING, "String");
- return val;
-}
-
static mrb_value
to_ary(mrb_state *mrb, mrb_value val)
{
- CHECK_TYPE(mrb, val, MRB_TT_ARRAY, "Array");
+ mrb_check_type(mrb, val, MRB_TT_ARRAY);
return val;
}
static mrb_value
to_hash(mrb_state *mrb, mrb_value val)
{
- CHECK_TYPE(mrb, val, MRB_TT_HASH, "Hash");
+ mrb_check_type(mrb, val, MRB_TT_HASH);
return val;
}
@@ -686,7 +673,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
}
}
if (i < argc) {
- *p = to_str(mrb, ARGV[arg_i++]);
+ *p = mrb_to_str(mrb, ARGV[arg_i++]);
i++;
}
}
@@ -747,7 +734,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
}
}
if (i < argc) {
- ss = to_str(mrb, ARGV[arg_i++]);
+ ss = mrb_to_str(mrb, ARGV[arg_i++]);
*ps = RSTRING_PTR(ss);
*pl = RSTRING_LEN(ss);
i++;
@@ -769,7 +756,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...)
}
}
if (i < argc) {
- ss = to_str(mrb, ARGV[arg_i++]);
+ ss = mrb_to_str(mrb, ARGV[arg_i++]);
*ps = RSTRING_CSTR(mrb, ss);
i++;
}