diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-10-29 13:22:04 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-10-29 13:22:04 +0900 |
| commit | cbbf84044000878a219fad47ea16dae0cc1699a3 (patch) | |
| tree | a6d659ad053ec26ef0fd71c55ae82c782259b4b5 /mrbgems/mruby-kernel-ext/src/kernel.c | |
| parent | 73593f7d193d89bcc160ae388bdd5850ff26c87b (diff) | |
| download | mruby-cbbf84044000878a219fad47ea16dae0cc1699a3.tar.gz mruby-cbbf84044000878a219fad47ea16dae0cc1699a3.zip | |
use mrb_get_args to parse Integer() option; ref #2625
Diffstat (limited to 'mrbgems/mruby-kernel-ext/src/kernel.c')
| -rw-r--r-- | mrbgems/mruby-kernel-ext/src/kernel.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/mrbgems/mruby-kernel-ext/src/kernel.c b/mrbgems/mruby-kernel-ext/src/kernel.c index a72516f48..baccbd303 100644 --- a/mrbgems/mruby-kernel-ext/src/kernel.c +++ b/mrbgems/mruby-kernel-ext/src/kernel.c @@ -49,22 +49,10 @@ mrb_f_method(mrb_state *mrb, mrb_value self) static mrb_value mrb_f_integer(mrb_state *mrb, mrb_value self) { - mrb_value *argv; mrb_value arg; - int argc; - int base = 0; + mrb_int base = 0; - mrb_get_args(mrb, "*", &argv, &argc); - switch (argc) { - case 2: - base = mrb_fixnum(argv[1]); - case 1: - arg = argv[0]; - break; - default: - mrb_raisef(mrb, E_ARGUMENT_ERROR, "wrong number of arguments (%S for 1..2)", - mrb_fixnum_value(argc)); - } + mrb_get_args(mrb, "o|i", &arg, &base); return mrb_convert_to_integer(mrb, arg, base); } |
