diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | time.c | 4 |
2 files changed, 9 insertions, 2 deletions
@@ -1,3 +1,10 @@ +Thu May 18 17:51:32 2006 Yukihiro Matsumoto <matz@ruby-lang.org> + + * 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 <matz@ruby-lang.org> * lib/cgi.rb (CGI::out): support utf-8. a patch from Fujioka @@ -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; |