]>
Commit | Line | Data |
---|---|---|
9b12e4fe JC |
1 | package system |
2 | ||
3 | import ( | |
4 | "syscall" | |
5 | "unsafe" | |
6 | ) | |
7 | ||
8 | // LUtimesNano is used to change access and modification time of the specified path. | |
9 | // It's used for symbol link file because syscall.UtimesNano doesn't support a NOFOLLOW flag atm. | |
10 | func LUtimesNano(path string, ts []syscall.Timespec) error { | |
11 | var _path *byte | |
12 | _path, err := syscall.BytePtrFromString(path) | |
13 | if err != nil { | |
14 | return err | |
15 | } | |
16 | ||
17 | if _, _, err := syscall.Syscall(syscall.SYS_LUTIMES, uintptr(unsafe.Pointer(_path)), uintptr(unsafe.Pointer(&ts[0])), 0); err != 0 && err != syscall.ENOSYS { | |
18 | return err | |
19 | } | |
20 | ||
21 | return nil | |
22 | } |