diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index d3ee5d2c..5048e563 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -86,8 +86,8 @@ func Unlink(path string) error { //sys unlinkat(dirfd int, path string, flags int) (err error) -func Unlinkat(dirfd int, path string) error { - return unlinkat(dirfd, path, 0) +func Unlinkat(dirfd int, path string, flags int) error { + return unlinkat(dirfd, path, flags) } //sys utimes(path string, times *[2]Timeval) (err error) diff --git a/unix/syscall_solaris.go b/unix/syscall_solaris.go index 00837326..eb489b15 100644 --- a/unix/syscall_solaris.go +++ b/unix/syscall_solaris.go @@ -649,7 +649,7 @@ func IoctlGetTermio(fd int, req int) (*Termio, error) { //sysnb Uname(buf *Utsname) (err error) //sys Unmount(target string, flags int) (err error) = libc.umount //sys Unlink(path string) (err error) -//sys Unlinkat(dirfd int, path string) (err error) +//sys Unlinkat(dirfd int, path string, flags int) (err error) //sys Ustat(dev int, ubuf *Ustat_t) (err error) //sys Utime(path string, buf *Utimbuf) (err error) //sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.bind diff --git a/unix/zsyscall_solaris_amd64.go b/unix/zsyscall_solaris_amd64.go index 8d2a8365..43264278 100644 --- a/unix/zsyscall_solaris_amd64.go +++ b/unix/zsyscall_solaris_amd64.go @@ -1401,13 +1401,13 @@ func Unlink(path string) (err error) { return } -func Unlinkat(dirfd int, path string) (err error) { +func Unlinkat(dirfd int, path string, flags int) (err error) { var _p0 *byte _p0, err = BytePtrFromString(path) if err != nil { return } - _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), 0, 0, 0, 0) + _, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procUnlinkat)), 3, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0, 0, 0) use(unsafe.Pointer(_p0)) if e1 != 0 { err = e1