summaryrefslogtreecommitdiffhomepage
path: root/src/object.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/object.c')
-rw-r--r--src/object.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/object.c b/src/object.c
index 0c6b86630..a44eab4bb 100644
--- a/src/object.c
+++ b/src/object.c
@@ -516,7 +516,10 @@ mrb_to_int(mrb_state *mrb, mrb_value val)
return mrb_flo_to_fixnum(mrb, val);
}
#endif
- mrb_raisef(mrb, E_TYPE_ERROR, "can't convert %Y to Integer", val);
+ if (mrb_string_p(val)) {
+ mrb_raise(mrb, E_TYPE_ERROR, "can't convert String to Integer");
+ }
+ return mrb_type_convert(mrb, val, MRB_TT_INTEGER, MRB_SYM(to_i));
}
return val;
}