Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-7-0]: src/bin/mv Missing file in pullup #1096: Don't truncate at ...



details:   https://anonhg.NetBSD.org/src/rev/2ad2298dc26c
branches:  netbsd-7-0
changeset: 801151:2ad2298dc26c
user:      martin <martin%NetBSD.org@localhost>
date:      Fri Mar 04 21:26:49 2016 +0000

description:
Missing file in pullup #1096: Don't truncate at sub-microsecond while
preserving timestamps.

diffstat:

 bin/mv/mv.c |  17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

diffs (57 lines):

diff -r 37c09421ba8e -r 2ad2298dc26c bin/mv/mv.c
--- a/bin/mv/mv.c       Thu Mar 03 15:44:19 2016 +0000
+++ b/bin/mv/mv.c       Fri Mar 04 21:26:49 2016 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mv.c,v 1.43 2011/08/29 14:46:54 joerg Exp $ */
+/* $NetBSD: mv.c,v 1.43.24.1 2016/03/04 21:26:49 martin Exp $ */
 
 /*
  * Copyright (c) 1989, 1993, 1994
@@ -42,7 +42,7 @@
 #if 0
 static char sccsid[] = "@(#)mv.c       8.2 (Berkeley) 4/2/94";
 #else
-__RCSID("$NetBSD: mv.c,v 1.43 2011/08/29 14:46:54 joerg Exp $");
+__RCSID("$NetBSD: mv.c,v 1.43.24.1 2016/03/04 21:26:49 martin Exp $");
 #endif
 #endif /* not lint */
 
@@ -255,7 +255,11 @@
 static int
 fastcopy(char *from, char *to, struct stat *sbp)
 {
+#if defined(__NetBSD__)
+       struct timespec ts[2];
+#else
        struct timeval tval[2];
+#endif
        static blksize_t blen;
        static char *bp;
        int nread, from_fd, to_fd;
@@ -296,8 +300,13 @@
 
        (void)close(from_fd);
 #ifdef BSD4_4
+#if defined(__NetBSD__)
+       ts[0] = sbp->st_atimespec;
+       ts[1] = sbp->st_mtimespec;
+#else
        TIMESPEC_TO_TIMEVAL(&tval[0], &sbp->st_atimespec);
        TIMESPEC_TO_TIMEVAL(&tval[1], &sbp->st_mtimespec);
+#endif
 #else
        tval[0].tv_sec = sbp->st_atime;
        tval[1].tv_sec = sbp->st_mtime;
@@ -307,8 +316,12 @@
 #ifdef __SVR4
        if (utimes(to, tval))
 #else
+#if defined(__NetBSD__)
+       if (futimens(to_fd, ts))
+#else
        if (futimes(to_fd, tval))
 #endif
+#endif
                warn("%s: set times", to);
        if (fchown(to_fd, sbp->st_uid, sbp->st_gid)) {
                if (errno != EPERM)



Home | Main Index | Thread Index | Old Index