diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-07-10 09:37:24 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-07-10 09:37:24 +0900 |
| commit | 1ffd25d5729833d9d9e80b7206486991c5d04c22 (patch) | |
| tree | cc3940747fd1fc5aef440ed843997d726fb3ce20 /src/class.c | |
| parent | e8e0b611c65fff4c75388fd09814e59fe5b1cb0a (diff) | |
| download | mruby-1ffd25d5729833d9d9e80b7206486991c5d04c22.tar.gz mruby-1ffd25d5729833d9d9e80b7206486991c5d04c22.zip | |
mrb_bob_missing to use mrb_get_args("n")
Diffstat (limited to 'src/class.c')
| -rw-r--r-- | src/class.c | 10 |
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(); } |
