mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-06 09:07:16 -04:00
unix: match ioctl req argument type to libc type
On Solaris, AIX, and zOS, the req argument of ioctl() is a signed int, not an unsigned long like on other platforms, which means many constants are negative, causing friction when passing them to a uint argument. Correct the signature of these functions to pass the req argument as signed, just like libc. Fixes golang/go#59030. Change-Id: Ia14e92a150f4b5fb9488c5032ca296cb786e9811 Reviewed-on: https://go-review.googlesource.com/c/sys/+/476515 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Jason Donenfeld <Jason@zx2c4.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Nahum Shalman <nahamu@gmail.com>
This commit is contained in:
committed by
Jason Donenfeld
parent
d0781cc69b
commit
00d8004a14
@@ -643,7 +643,7 @@ func __minor(version int, dev uint64) (val uint) {
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) {
|
||||
func ioctlRet(fd int, req int, arg uintptr) (ret int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
|
||||
ret = int(r0)
|
||||
if e1 != 0 {
|
||||
@@ -654,7 +654,7 @@ func ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) {
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func ioctlPtrRet(fd int, req uint, arg unsafe.Pointer) (ret int, err error) {
|
||||
func ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, uintptr(fd), uintptr(req), uintptr(arg), 0, 0, 0)
|
||||
ret = int(r0)
|
||||
if e1 != 0 {
|
||||
|
||||
Reference in New Issue
Block a user