diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 8ad741b98..4ad6347a2 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2005-09-08 Christopher Faylor + + * fhandler_serial.cc (fhandler_serial::ioctl): Always return 0 for + window size. + * termios.cc (tcgetattr): Clear out baud part of c_cflag since it is + always ignored. + 2005-09-08 Corinna Vinschen * exceptions.cc (ctrl_c_handler): Disable any special CTRL_LOGOFF_EVENT diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index 0aefb7f83..f7f9d60be 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -517,6 +517,10 @@ fhandler_serial::ioctl (unsigned int cmd, void *buffer) else ipbuffer = st.cbInQue; break; + case TIOCGWINSZ: + ((struct winsize *) buffer)->ws_row = 0; + ((struct winsize *) buffer)->ws_col = 0; + break; default: set_errno (ENOSYS); res = -1; diff --git a/winsup/cygwin/termios.cc b/winsup/cygwin/termios.cc index 6e0ab3e9f..e6a6517f2 100644 --- a/winsup/cygwin/termios.cc +++ b/winsup/cygwin/termios.cc @@ -179,7 +179,10 @@ tcgetattr (int fd, struct termios *in_t) else if (!cfd->is_tty ()) set_errno (ENOTTY); else if ((res = cfd->tcgetattr (t)) == 0) - __toapp_termios (in_t, t); + { + t->c_cflag &= ~CBAUD; + __toapp_termios (in_t, t); + } if (res) termios_printf ("%d = tcgetattr (%d, %p)", res, fd, in_t);