aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--time.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 453a09da91..aa15cc368a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jul 2 08:04:39 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * time.c (num_exact): rb_check_to_integer() can deal with both of
+ Fixnum and Bignum together.
+
Thu Jul 2 07:53:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_yylex): fixed wrong variable.
diff --git a/time.c b/time.c
index 95c64a8b8d..99aae6ae13 100644
--- a/time.c
+++ b/time.c
@@ -160,14 +160,11 @@ num_exact(VALUE v)
case T_NIL:
goto typeerror;
- default:
- {
+ default: {
VALUE tmp;
if (!NIL_P(tmp = rb_check_convert_type(v, T_RATIONAL, "Rational", "to_r")))
v = tmp;
- else if (!NIL_P(tmp = rb_check_convert_type(v, T_FIXNUM, "Integer", "to_int")))
- v = tmp;
- else if (!NIL_P(tmp = rb_check_convert_type(v, T_BIGNUM, "Integer", "to_int")))
+ else if (!NIL_P(tmp = rb_check_to_integer(v, "to_int")))
v = tmp;
else {
typeerror: