[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]