diff --git a/bin/cp/utils.c b/bin/cp/utils.c index e77a6c13a370..f58ed7a96f9b 100644 --- a/bin/cp/utils.c +++ b/bin/cp/utils.c @@ -342,7 +342,7 @@ setfile(struct stat *fs, int fd) tspec[0] = fs->st_atim; tspec[1] = fs->st_mtim; - if (utimensat(AT_FDCWD, to.p_path, tspec, + if (fdval ? futimens(fd, tspec) : utimensat(AT_FDCWD, to.p_path, tspec, islink ? AT_SYMLINK_NOFOLLOW : 0)) { warn("utimensat: %s", to.p_path); rval = 1; diff --git a/bin/mv/mv.c b/bin/mv/mv.c index 999c8fc8af4c..a95b07a288b0 100644 --- a/bin/mv/mv.c +++ b/bin/mv/mv.c @@ -352,7 +352,7 @@ err: if (unlink(to)) ts[0] = sbp->st_atim; ts[1] = sbp->st_mtim; - if (utimensat(AT_FDCWD, to, ts, 0)) + if (futimens(to_fd, ts)) warn("%s: set times", to); if (close(to_fd)) {