summaryrefslogtreecommitdiff
path: root/vendor/github.com/otiai10/copy/preserve_ltimes.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/otiai10/copy/preserve_ltimes.go')
-rw-r--r--vendor/github.com/otiai10/copy/preserve_ltimes.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/github.com/otiai10/copy/preserve_ltimes.go b/vendor/github.com/otiai10/copy/preserve_ltimes.go
new file mode 100644
index 0000000..cc006d3
--- /dev/null
+++ b/vendor/github.com/otiai10/copy/preserve_ltimes.go
@@ -0,0 +1,20 @@
+//go:build !windows && !plan9 && !js
+// +build !windows,!plan9,!js
+
+package copy
+
+import (
+ "golang.org/x/sys/unix"
+)
+
+func preserveLtimes(src, dest string) error {
+ info := new(unix.Stat_t)
+ if err := unix.Lstat(src, info); err != nil {
+ return err
+ }
+
+ return unix.Lutimes(dest, []unix.Timeval{
+ unix.NsecToTimeval(info.Atim.Nano()),
+ unix.NsecToTimeval(info.Mtim.Nano()),
+ })
+}