ruby-changes:24214
From: tadf <ko1@a...>
Date: Mon, 2 Jul 2012 05:57:02 +0900 (JST)
Subject: [ruby-changes:24214] tadf:r36265 (trunk): * ext/date/date_core.c: .
tadf 2012-07-02 05:56:50 +0900 (Mon, 02 Jul 2012) New Revision: 36265 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36265 Log: * ext/date/date_core.c: [ruby-core:46058]. Modified files: trunk/ChangeLog trunk/ext/date/date_core.c trunk/test/date/test_switch_hitter.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 36264) +++ ChangeLog (revision 36265) @@ -1,3 +1,7 @@ +Mon Jul 2 05:54:58 2012 Tadayoshi Funaba <tadf@d...> + + * ext/date/date_core.c: [ruby-core:46058]. + Mon Jul 2 05:35:43 2012 Tadayoshi Funaba <tadf@d...> * ext/date/date_core.c (d_lite_marshal_load): accepts old dump. Index: ext/date/date_core.c =================================================================== --- ext/date/date_core.c (revision 36264) +++ ext/date/date_core.c (revision 36265) @@ -980,8 +980,14 @@ if (!FIXNUM_P(x)) return 0; ix = FIX2LONG(x); - if (ix >= (FIXNUM_MAX / m)) - return 0; + if (ix < 0) { + if (ix <= (FIXNUM_MIN / m)) + return 0; + } + else { + if (ix >= (FIXNUM_MAX / m)) + return 0; + } return 1; } Index: test/date/test_switch_hitter.rb =================================================================== --- test/date/test_switch_hitter.rb (revision 36264) +++ test/date/test_switch_hitter.rb (revision 36265) @@ -294,6 +294,8 @@ assert_raise(Errno::ERANGE) do Date.new(1 << 10000).strftime('%Y') end + assert_equal('-3786825600', Date.new(1850).strftime('%s')) + assert_equal('-3786825600000', Date.new(1850).strftime('%Q')) end def test_cmp -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/