summaryrefslogtreecommitdiffhomepage
path: root/src/pack.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pack.c')
-rw-r--r--src/pack.c6
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);