diff options
Diffstat (limited to 'src/lib/syscall/file_darwin.go')
-rw-r--r-- | src/lib/syscall/file_darwin.go | 42 |
1 files changed, 12 insertions, 30 deletions
diff --git a/src/lib/syscall/file_darwin.go b/src/lib/syscall/file_darwin.go index d89752dc0..c7087c036 100644 --- a/src/lib/syscall/file_darwin.go +++ b/src/lib/syscall/file_darwin.go @@ -14,20 +14,14 @@ import ( const nameBufsize = 512 func Open(name string, mode int64, perm int64) (ret int64, errno int64) { - var namebuf [nameBufsize]byte; - if !StringToBytes(namebuf, name) { - return -1, ENAMETOOLONG - } - r1, r2, err := Syscall(SYS_OPEN, int64(uintptr(unsafe.Pointer(&namebuf[0]))), mode, perm); + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_OPEN, int64(uintptr(unsafe.Pointer(namebuf))), mode, perm); return r1, err; } func Creat(name string, perm int64) (ret int64, errno int64) { - var namebuf [nameBufsize]byte; - if !StringToBytes(namebuf, name) { - return -1, ENAMETOOLONG - } - r1, r2, err := Syscall(SYS_OPEN, int64(uintptr(unsafe.Pointer(&namebuf[0]))), O_CREAT|O_WRONLY|O_TRUNC, perm); + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_OPEN, int64(uintptr(unsafe.Pointer(namebuf))), O_CREAT|O_WRONLY|O_TRUNC, perm); return r1, err; } @@ -57,20 +51,14 @@ func Pipe(fds *[2]int64) (ret int64, errno int64) { } func Stat(name string, buf *Stat_t) (ret int64, errno int64) { - var namebuf [nameBufsize]byte; - if !StringToBytes(namebuf, name) { - return -1, ENAMETOOLONG - } - r1, r2, err := Syscall(SYS_STAT64, int64(uintptr(unsafe.Pointer(&namebuf[0]))), int64(uintptr(unsafe.Pointer(buf))), 0); + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_STAT64, int64(uintptr(unsafe.Pointer(namebuf))), int64(uintptr(unsafe.Pointer(buf))), 0); return r1, err; } func Lstat(name string, buf *Stat_t) (ret int64, errno int64) { - var namebuf [nameBufsize]byte; - if !StringToBytes(namebuf, name) { - return -1, ENAMETOOLONG - } - r1, r2, err := Syscall(SYS_LSTAT64, int64(uintptr(unsafe.Pointer(&namebuf[0]))), int64(uintptr(unsafe.Pointer(buf))), 0); + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_LSTAT64, int64(uintptr(unsafe.Pointer(namebuf))), int64(uintptr(unsafe.Pointer(buf))), 0); return r1, err; } @@ -80,11 +68,8 @@ func Fstat(fd int64, buf *Stat_t) (ret int64, errno int64) { } func Unlink(name string) (ret int64, errno int64) { - var namebuf [nameBufsize]byte; - if !StringToBytes(namebuf, name) { - return -1, ENAMETOOLONG - } - r1, r2, err := Syscall(SYS_UNLINK, int64(uintptr(unsafe.Pointer(&namebuf[0]))), 0, 0); + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_UNLINK, int64(uintptr(unsafe.Pointer(namebuf))), 0, 0); return r1, err; } @@ -94,11 +79,8 @@ func Fcntl(fd, cmd, arg int64) (ret int64, errno int64) { } func Mkdir(name string, perm int64) (ret int64, errno int64) { - var namebuf [nameBufsize]byte; - if !StringToBytes(namebuf, name) { - return -1, ENAMETOOLONG - } - r1, r2, err := Syscall(SYS_MKDIR, int64(uintptr(unsafe.Pointer(&namebuf[0]))), perm, 0); + namebuf := StringBytePtr(name); + r1, r2, err := Syscall(SYS_MKDIR, int64(uintptr(unsafe.Pointer(namebuf))), perm, 0); return r1, err; } |