// Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build aix || darwin || dragonfly || freebsd || hurd || openbsd || netbsd || solaris
// +build aix darwin dragonfly freebsd hurd openbsd netbsd solaris

// General POSIX version of UtimesNano.

package syscall

import "unsafe"

func UtimesNano(path string, ts []Timespec) error {
	// TODO: The BSDs can do utimensat with SYS_UTIMENSAT but it
	// isn't supported by darwin so this uses utimes instead
	if len(ts) != 2 {
		return EINVAL
	}
	// Not as efficient as it could be because Timespec and
	// Timeval have different types in the different OSes
	tv := [2]Timeval{
		NsecToTimeval(TimespecToNsec(ts[0])),
		NsecToTimeval(TimespecToNsec(ts[1])),
	}
	return utimes(path, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
}
