diff options
| -rw-r--r-- | src/pack.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/pack.c b/src/pack.c index 6a0075f5a..5a5b97b75 100644 --- a/src/pack.c +++ b/src/pack.c @@ -1018,11 +1018,7 @@ mrb_pack_pack(mrb_state *mrb, mrb_value ary) o = mrb_ary_ref(mrb, ary, aidx); if (type == PACK_TYPE_INTEGER) { - if (mrb_float_p(o)) { - o = mrb_funcall(mrb, o, "to_i", 0); - } else if (!mrb_fixnum_p(o)) { - mrb_raisef(mrb, E_TYPE_ERROR, "can't convert %S into Integer", mrb_class_path(mrb, mrb_obj_class(mrb, o))); - } + o = mrb_to_int(mrb, o); } else if (type == PACK_TYPE_FLOAT) { if (!mrb_float_p(o)) { o = mrb_funcall(mrb, o, "to_f", 0); |
