summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-07-10 09:37:24 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-07-10 09:37:24 +0900
commit1ffd25d5729833d9d9e80b7206486991c5d04c22 (patch)
treecc3940747fd1fc5aef440ed843997d726fb3ce20 /src
parente8e0b611c65fff4c75388fd09814e59fe5b1cb0a (diff)
downloadmruby-1ffd25d5729833d9d9e80b7206486991c5d04c22.tar.gz
mruby-1ffd25d5729833d9d9e80b7206486991c5d04c22.zip
mrb_bob_missing to use mrb_get_args("n")
Diffstat (limited to 'src')
-rw-r--r--src/class.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/class.c b/src/class.c
index 73186c8f8..ad683ed2b 100644
--- a/src/class.c
+++ b/src/class.c
@@ -1141,14 +1141,12 @@ mrb_bob_not(mrb_state *mrb, mrb_value cv)
static mrb_value
mrb_bob_missing(mrb_state *mrb, mrb_value mod)
{
- mrb_value name, *a;
+ mrb_sym name;
+ mrb_value *a;
int alen;
mrb_value inspect;
- mrb_get_args(mrb, "o*", &name, &a, &alen);
- if (!mrb_symbol_p(name)) {
- mrb_raise(mrb, E_TYPE_ERROR, "name should be a symbol");
- }
+ mrb_get_args(mrb, "n*", &name, &a, &alen);
if (mrb_respond_to(mrb,mod,mrb_intern2(mrb,"inspect",7))){
inspect = mrb_funcall(mrb, mod, "inspect", 0);
@@ -1161,7 +1159,7 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod)
}
mrb_raisef(mrb, E_NOMETHOD_ERROR, "undefined method '%S' for %S",
- mrb_sym2str(mrb, mrb_symbol(name)), inspect);
+ mrb_sym2str(mrb, name), inspect);
/* not reached */
return mrb_nil_value();
}