mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
make sure the standard "replace input carriage returns with line feeds" and "replace output line feeds with carriage return and line feed" flags are set, even on raw (I dont think it should actually be raw)
This commit is contained in:
parent
302567df1d
commit
3a59336f82
1 changed files with 4 additions and 2 deletions
|
@ -123,9 +123,11 @@ func MakeRaw(fd int) (*State, error) {
|
||||||
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(getTermios), uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 {
|
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(getTermios), uintptr(unsafe.Pointer(&oldState.termios)), 0, 0, 0); err != 0 {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
newState := oldState.termios
|
newState := oldState.termios
|
||||||
newState.Iflag &^= istrip | INLCR | ICRNL | IGNCR | IXON | IXOFF
|
newState.Iflag &^= ISTRIP | INLCR | IGNCR | IXON | IXOFF
|
||||||
|
newState.Iflag |= ICRNL
|
||||||
|
newState.Oflag |= ONLCR
|
||||||
newState.Lflag &^= ECHO | ICANON | ISIG
|
newState.Lflag &^= ECHO | ICANON | ISIG
|
||||||
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(setTermios), uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 {
|
if _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), uintptr(setTermios), uintptr(unsafe.Pointer(&newState)), 0, 0, 0); err != 0 {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue