]> granicus.if.org Git - sudo/commitdiff
It is possible for tv_usec to hold >= 1000000 usecs so add in tv_usec / 1000000.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 8 Apr 2005 21:04:22 +0000 (21:04 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 8 Apr 2005 21:04:22 +0000 (21:04 +0000)
utimes.c

index 0d7286932f959dc16d4baec0ffd12e9733546a00..c894336c20bc236acc2b2dfff0502c596ae93288 100644 (file)
--- 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));