Преглед на файлове

windows: correct GetStdHandle definition

GetStdHandle: https://msdn.microsoft.com/en-us/library/windows/desktop/ms683231(v=vs.85).aspx
DWORD: https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx

Change-Id: I2fb794f85418e7846687911c4513886eb1803770
Reviewed-on: https://go-review.googlesource.com/39608
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Tamir Duberstein преди 8 години
родител
ревизия
ff24cb3cd8
променени са 3 файла, в които са добавени 7 реда и са изтрити 7 реда
  1. 3 3
      windows/syscall_windows.go
  2. 1 1
      windows/zsyscall_windows.go
  3. 3 3
      windows/ztypes_windows.go

+ 3 - 3
windows/syscall_windows.go

@@ -93,7 +93,7 @@ func NewCallbackCDecl(fn interface{}) uintptr
 //sys	WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
 //sys	WriteFile(handle Handle, buf []byte, done *uint32, overlapped *Overlapped) (err error)
 //sys	SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff]
 //sys	SetFilePointer(handle Handle, lowoffset int32, highoffsetptr *int32, whence uint32) (newlowoffset uint32, err error) [failretval==0xffffffff]
 //sys	CloseHandle(handle Handle) (err error)
 //sys	CloseHandle(handle Handle) (err error)
-//sys	GetStdHandle(stdhandle int) (handle Handle, err error) [failretval==InvalidHandle]
+//sys	GetStdHandle(stdhandle uint32) (handle Handle, err error) [failretval==InvalidHandle]
 //sys	findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstFileW
 //sys	findFirstFile1(name *uint16, data *win32finddata1) (handle Handle, err error) [failretval==InvalidHandle] = FindFirstFileW
 //sys	findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW
 //sys	findNextFile1(handle Handle, data *win32finddata1) (err error) = FindNextFileW
 //sys	FindClose(handle Handle) (err error)
 //sys	FindClose(handle Handle) (err error)
@@ -312,8 +312,8 @@ var (
 	Stderr = getStdHandle(STD_ERROR_HANDLE)
 	Stderr = getStdHandle(STD_ERROR_HANDLE)
 )
 )
 
 
-func getStdHandle(h int) (fd Handle) {
-	r, _ := GetStdHandle(h)
+func getStdHandle(stdhandle uint32) (fd Handle) {
+	r, _ := GetStdHandle(stdhandle)
 	CloseOnExec(r)
 	CloseOnExec(r)
 	return r
 	return r
 }
 }

+ 1 - 1
windows/zsyscall_windows.go

@@ -620,7 +620,7 @@ func CloseHandle(handle Handle) (err error) {
 	return
 	return
 }
 }
 
 
-func GetStdHandle(stdhandle int) (handle Handle, err error) {
+func GetStdHandle(stdhandle uint32) (handle Handle, err error) {
 	r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0)
 	r0, _, e1 := syscall.Syscall(procGetStdHandle.Addr(), 1, uintptr(stdhandle), 0, 0)
 	handle = Handle(r0)
 	handle = Handle(r0)
 	if handle == InvalidHandle {
 	if handle == InvalidHandle {

+ 3 - 3
windows/ztypes_windows.go

@@ -122,9 +122,9 @@ const (
 	DUPLICATE_CLOSE_SOURCE = 0x00000001
 	DUPLICATE_CLOSE_SOURCE = 0x00000001
 	DUPLICATE_SAME_ACCESS  = 0x00000002
 	DUPLICATE_SAME_ACCESS  = 0x00000002
 
 
-	STD_INPUT_HANDLE  = -10
-	STD_OUTPUT_HANDLE = -11
-	STD_ERROR_HANDLE  = -12
+	STD_INPUT_HANDLE  = -10 & (1<<32 - 1)
+	STD_OUTPUT_HANDLE = -11 & (1<<32 - 1)
+	STD_ERROR_HANDLE  = -12 & (1<<32 - 1)
 
 
 	FILE_BEGIN   = 0
 	FILE_BEGIN   = 0
 	FILE_CURRENT = 1
 	FILE_CURRENT = 1