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 + + * 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 * 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: