diff --git a/fn/run_windows.go b/fn/run_windows.go index 928a6b41e..c79cc47fb 100644 --- a/fn/run_windows.go +++ b/fn/run_windows.go @@ -10,7 +10,7 @@ import ( "unsafe" ) -func getStdin() io.Reader { +func stdin() io.Reader { var stdin io.Reader = os.Stdin if isTerminal(int(os.Stdin.Fd())) { stdin = strings.NewReader("") @@ -19,6 +19,8 @@ func getStdin() io.Reader { } func isTerminal(fd int) bool { + kernel32 := syscall.NewLazyDLL("kernel32.dll") + procGetConsoleMode := kernel32.NewProc("GetConsoleMode") var st uint32 r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) return r != 0 && e == 0