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

ruby-changes:11622

From: nobu <ko1@a...>
Date: Wed, 22 Apr 2009 20:24:14 +0900 (JST)
Subject: [ruby-changes:11622] Ruby:r23259 (ruby_1_8): * time.c (time_timeval): check out-of-range.

nobu	2009-04-22 20:24:03 +0900 (Wed, 22 Apr 2009)

  New Revision: 23259

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23259

  Log:
    * time.c (time_timeval): check out-of-range.  [ruby-core:23282]
      [Bug #1396]

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/time.c

Index: ruby_1_8/time.c
===================================================================
--- ruby_1_8/time.c	(revision 23258)
+++ ruby_1_8/time.c	(revision 23259)
@@ -200,7 +200,14 @@
 	    if (f != t.tv_sec) {
 		rb_raise(rb_eRangeError, "%f out of Time range", RFLOAT(time)->value);
 	    }
-	    t.tv_usec = (time_t)(d*1e6+0.5);
+	    t.tv_usec = (int)(d*1e6+0.5);
+	    if (t.tv_usec >= 1000000) {
+		t.tv_usec -= 1000000;
+		if (++t.tv_sec <= 0) {
+		    --t.tv_sec;
+		    t.tv_usec = 999999;
+		}
+	    }
 	}
 	break;
 
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 23258)
+++ ruby_1_8/ChangeLog	(revision 23259)
@@ -1,3 +1,8 @@
+Wed Apr 22 20:24:01 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* time.c (time_timeval): check out-of-range.  [ruby-core:23282]
+	  [Bug #1396]
+
 Wed Apr 22 12:20:13 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* eval.c (proc_invoke): shares dmethod scope local variables.

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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