summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sysdeps/unix/bsd/ftime.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sysdeps/unix/bsd/ftime.c b/sysdeps/unix/bsd/ftime.c
index 9aa5af100c..187c24c1d3 100644
--- a/sysdeps/unix/bsd/ftime.c
+++ b/sysdeps/unix/bsd/ftime.c
@@ -30,7 +30,12 @@ ftime (timebuf)
return -1;
timebuf->time = tv.tv_sec;
- timebuf->millitm = (tv.tv_usec + 999) / 1000;
+ timebuf->millitm = (tv.tv_usec + 500) / 1000;
+ if (timebuf->millitm == 1000)
+ {
+ ++timebuf->time;
+ timebuf->millitm = 0;
+ }
timebuf->timezone = tz.tz_minuteswest;
timebuf->dstflag = tz.tz_dsttime;
return 0;