diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | time.c | 7 |
2 files changed, 7 insertions, 5 deletions
@@ -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. @@ -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: |