diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-05-04 00:19:14 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-05-04 00:19:14 +0900 |
| commit | 181d14668a3c60e31c8f3de5b6bb075842b6c357 (patch) | |
| tree | 0fe640d4ceb7ca0ebc335005a923d9a0ce16a7d9 /src | |
| parent | 187b4c819fb983aecefbf996612e3504703f4dca (diff) | |
| parent | 0692f7916cc9865e276a58812186cac7f02dc042 (diff) | |
| download | mruby-181d14668a3c60e31c8f3de5b6bb075842b6c357.tar.gz mruby-181d14668a3c60e31c8f3de5b6bb075842b6c357.zip | |
Merge pull request #4420 from shuujii/simplify-conversion-process-for-i-in-mrb_get_args
Simplify conversion process for `i` in `mrb_get_args()`
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 24 |
1 files changed, 1 insertions, 23 deletions
diff --git a/src/class.c b/src/class.c index 254f5b005..2cabc820e 100644 --- a/src/class.c +++ b/src/class.c @@ -838,29 +838,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) p = va_arg(ap, mrb_int*); if (i < argc) { - switch (mrb_type(ARGV[arg_i])) { - case MRB_TT_FIXNUM: - *p = mrb_fixnum(ARGV[arg_i]); - break; -#ifndef MRB_WITHOUT_FLOAT - case MRB_TT_FLOAT: - { - mrb_float f = mrb_float(ARGV[arg_i]); - - if (!FIXABLE_FLOAT(f)) { - mrb_raise(mrb, E_RANGE_ERROR, "float too big for int"); - } - *p = (mrb_int)f; - } - break; -#endif - case MRB_TT_STRING: - mrb_raise(mrb, E_TYPE_ERROR, "no implicit conversion of String into Integer"); - break; - default: - *p = mrb_fixnum(mrb_Integer(mrb, ARGV[arg_i])); - break; - } + *p = mrb_fixnum(mrb_to_int(mrb, ARGV[arg_i])); arg_i++; i++; } |
