summaryrefslogtreecommitdiff
path: root/vendor/github.com/otiai10/copy/preserve_ltimes.go
blob: cc006d3750a3645ddbacab9bb8a281ddc80d9acf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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()),
	})
}