mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-03 15:47:35 -04:00
unix: add flags parameter to Unlinkat
The flags parameter was added in https://golang.org/cl/7917. In that CL the reviewers discussed adding UnlinkAt and changing Unlinkat, and opted for the latter. Unfortunately, I then undid that in https://golang.org/cl/10032, which was a backport of (among others) https://golang.org/cl/5837. I didn't notice that in the syscall package 5837 removed Unlinkat with two parameters, but the port to the x/sys/unix package removed Unlinkat with three parameters. Argh. This CL effectively restores 7917, by adding the parameter back. Fixes golang/go#9923. Change-Id: I8fe218ac637d0eb0346b63b596666671374bd19f Reviewed-on: https://go-review.googlesource.com/18981 Reviewed-by: Rob Pike <r@golang.org>
This commit is contained in:
@@ -86,8 +86,8 @@ func Unlink(path string) error {
|
|||||||
|
|
||||||
//sys unlinkat(dirfd int, path string, flags int) (err error)
|
//sys unlinkat(dirfd int, path string, flags int) (err error)
|
||||||
|
|
||||||
func Unlinkat(dirfd int, path string) error {
|
func Unlinkat(dirfd int, path string, flags int) error {
|
||||||
return unlinkat(dirfd, path, 0)
|
return unlinkat(dirfd, path, flags)
|
||||||
}
|
}
|
||||||
|
|
||||||
//sys utimes(path string, times *[2]Timeval) (err error)
|
//sys utimes(path string, times *[2]Timeval) (err error)
|
||||||
|
|||||||
@@ -649,7 +649,7 @@ func IoctlGetTermio(fd int, req int) (*Termio, error) {
|
|||||||
//sysnb Uname(buf *Utsname) (err error)
|
//sysnb Uname(buf *Utsname) (err error)
|
||||||
//sys Unmount(target string, flags int) (err error) = libc.umount
|
//sys Unmount(target string, flags int) (err error) = libc.umount
|
||||||
//sys Unlink(path string) (err error)
|
//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 Ustat(dev int, ubuf *Ustat_t) (err error)
|
||||||
//sys Utime(path string, buf *Utimbuf) (err error)
|
//sys Utime(path string, buf *Utimbuf) (err error)
|
||||||
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.bind
|
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error) = libsocket.bind
|
||||||
|
|||||||
@@ -1401,13 +1401,13 @@ func Unlink(path string) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func Unlinkat(dirfd int, path string) (err error) {
|
func Unlinkat(dirfd int, path string, flags int) (err error) {
|
||||||
var _p0 *byte
|
var _p0 *byte
|
||||||
_p0, err = BytePtrFromString(path)
|
_p0, err = BytePtrFromString(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
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))
|
use(unsafe.Pointer(_p0))
|
||||||
if e1 != 0 {
|
if e1 != 0 {
|
||||||
err = e1
|
err = e1
|
||||||
|
|||||||
Reference in New Issue
Block a user