Replace SYS_IOCTL by cross platform version

This commit is contained in:
Loïc Carr 2018-03-24 12:40:32 +01:00
parent 3b96b5a830
commit 989a803a5b
1 changed files with 5 additions and 7 deletions

12
arch.go
View File

@ -5,10 +5,10 @@ package gottyclient
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"golang.org/x/sys/unix"
"os" "os"
"os/signal" "os/signal"
"syscall" "syscall"
"unsafe"
) )
func notifySignalSIGWINCH(c chan<- os.Signal) { func notifySignalSIGWINCH(c chan<- os.Signal) {
@ -20,12 +20,10 @@ func resetSignalSIGWINCH() {
} }
func syscallTIOCGWINSZ() ([]byte, error) { func syscallTIOCGWINSZ() ([]byte, error) {
ws := winsize{} ws, err := unix.IoctlGetWinsize(0, 0)
if err != nil {
syscall.Syscall(syscall.SYS_IOCTL, return nil, fmt.Errorf("ioctl error: %v", err)
uintptr(0), uintptr(syscall.TIOCGWINSZ), }
uintptr(unsafe.Pointer(&ws)))
b, err := json.Marshal(ws) b, err := json.Marshal(ws)
if err != nil { if err != nil {
return nil, fmt.Errorf("json.Marshal error: %v", err) return nil, fmt.Errorf("json.Marshal error: %v", err)