From: Todd C. Miller Date: Fri, 8 Apr 2005 21:04:22 +0000 (+0000) Subject: It is possible for tv_usec to hold >= 1000000 usecs so add in tv_usec / 1000000. X-Git-Tag: SUDO_1_7_0~661 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f057686d2084ecd16524e36794c9be4bb160d55c;p=sudo It is possible for tv_usec to hold >= 1000000 usecs so add in tv_usec / 1000000. --- diff --git a/utimes.c b/utimes.c index 0d7286932..c894336c2 100644 --- a/utimes.c +++ b/utimes.c @@ -46,8 +46,8 @@ utimes(file, times) if (times != NULL) { struct utimbuf utb; - utb.actime = (time_t)times[0].tv_sec; - utb.modtime = (time_t)times[1].tv_sec; + utb.actime = (time_t)(times[0].tv_sec + times[0].tv_usec / 1000000); + utb.modtime = (time_t)(times[1].tv_sec + times[1].tv_usec / 1000000); return(utime(file, &utb)); } else return(utime(file, NULL)); @@ -66,8 +66,8 @@ futimes(fd, times) if (times != NULL) { struct utimbuf utb; - utb.actime = (time_t)times[0].tv_sec; - utb.modtime = (time_t)times[1].tv_sec; + utb.actime = (time_t)(times[0].tv_sec + times[0].tv_usec / 1000000); + utb.modtime = (time_t)(times[1].tv_sec + times[1].tv_usec / 1000000); return(futime(fd, &utb)); } else return(futime(fd, NULL));