apply fix for terminal issue
This commit is contained in:
parent
82a9122745
commit
b9ab36ebe2
|
@ -25,5 +25,5 @@ func SetRaw(fd int) error {
|
||||||
n.Cc[syscall.VMIN] = 1
|
n.Cc[syscall.VMIN] = 1
|
||||||
n.Cc[syscall.VTIME] = 0
|
n.Cc[syscall.VTIME] = 0
|
||||||
|
|
||||||
return termios.Tcsetattr(uintptr(fd), termios.TCSANOW, (*unix.Termios)(n))
|
return termios.Tcsetattr(uintptr(fd), termios.TCSANOW, (*unix.Termios)(&n))
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,16 +10,18 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
saveTermios *unix.Termios
|
saveTermios unix.Termios
|
||||||
saveTermiosFD int
|
saveTermiosFD int
|
||||||
saveTermiosOnce sync.Once
|
saveTermiosOnce sync.Once
|
||||||
)
|
)
|
||||||
|
|
||||||
func getOriginalTermios(fd int) (*unix.Termios, error) {
|
func getOriginalTermios(fd int) (unix.Termios, error) {
|
||||||
var err error
|
var err error
|
||||||
saveTermiosOnce.Do(func() {
|
saveTermiosOnce.Do(func() {
|
||||||
saveTermiosFD = fd
|
saveTermiosFD = fd
|
||||||
saveTermios, err = termios.Tcgetattr(uintptr(fd))
|
var saveTermiosPtr *unix.Termios
|
||||||
|
saveTermiosPtr, err = termios.Tcgetattr(uintptr(fd))
|
||||||
|
saveTermios = *saveTermiosPtr
|
||||||
})
|
})
|
||||||
return saveTermios, err
|
return saveTermios, err
|
||||||
}
|
}
|
||||||
|
@ -30,5 +32,5 @@ func Restore() error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return termios.Tcsetattr(uintptr(saveTermiosFD), termios.TCSANOW, o)
|
return termios.Tcsetattr(uintptr(saveTermiosFD), termios.TCSANOW, &o)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue