From d32f258895e2ca5ee5b50d70bdaa40d929542ad8 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 18 May 2006 08:54:01 +0000 Subject: * time.c (time_timeval): should round for usec floating number. [ruby-core:07896] * time.c (time_add): ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ time.c | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ea7fba9a0..f984d1784 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Thu May 18 17:51:32 2006 Yukihiro Matsumoto + + * time.c (time_timeval): should round for usec floating + number. [ruby-core:07896] + + * time.c (time_add): ditto. + Thu May 18 17:11:45 2006 Yukihiro Matsumoto * lib/cgi.rb (CGI::out): support utf-8. a patch from Fujioka diff --git a/time.c b/time.c index fa337989d..a1f963943 100644 --- a/time.c +++ b/time.c @@ -194,7 +194,7 @@ time_timeval(time, interval) if (f != t.tv_sec) { rb_raise(rb_eRangeError, "%f out of Time range", RFLOAT(time)->value); } - t.tv_usec = (time_t)(d*1e6); + t.tv_usec = (time_t)(d*1e6+0.5); } break; @@ -1287,7 +1287,7 @@ time_add(tobj, offset, sign) if (f != (double)sec_off) rb_raise(rb_eRangeError, "time %s %f out of Time range", sign < 0 ? "-" : "+", v); - usec_off = (time_t)(d*1e6); + usec_off = (time_t)(d*1e6+0.5); if (sign < 0) { sec = tobj->tv.tv_sec - sec_off; -- cgit