From a4884edb1ebb409ff3508b95a56a92df8ce493df Mon Sep 17 00:00:00 2001 From: shyouhei Date: Sun, 29 Jun 2008 11:07:24 +0000 Subject: merge revision(s) 17617: * time.c (time_timeval): fix rounding negative float. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_6@17707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- time.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'time.c') diff --git a/time.c b/time.c index 97eeb6a365..b27b43464a 100644 --- a/time.c +++ b/time.c @@ -192,6 +192,10 @@ time_timeval(time, interval) double f, d; d = modf(RFLOAT(time)->value, &f); + if (d < 0) { + d += 1; + f -= 1; + } t.tv_sec = (time_t)f; if (f != t.tv_sec) { rb_raise(rb_eRangeError, "%f out of Time range", RFLOAT(time)->value); -- cgit v1.2.3