diff options
author | Christopher Faylor <me@cgf.cx> | 2005-08-11 17:03:18 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-08-11 17:03:18 +0000 |
commit | 205a5751885366e8935b57105d9ee4792197d2aa (patch) | |
tree | baac4e5aa86f6c2349ec6fe12574314630bfaed6 /winsup/cygwin/fhandler_serial.cc | |
parent | b21413b3042eb28cc4ac7e182426e1548eea62a5 (diff) | |
download | cygnal-205a5751885366e8935b57105d9ee4792197d2aa.tar.gz cygnal-205a5751885366e8935b57105d9ee4792197d2aa.tar.bz2 cygnal-205a5751885366e8935b57105d9ee4792197d2aa.zip |
* fhandler_serial.cc (fhandler_serial::tcgetattr): Return current baud rate
regardless of current DTR state.
Diffstat (limited to 'winsup/cygwin/fhandler_serial.cc')
-rw-r--r-- | winsup/cygwin/fhandler_serial.cc | 37 |
1 files changed, 16 insertions, 21 deletions
diff --git a/winsup/cygwin/fhandler_serial.cc b/winsup/cygwin/fhandler_serial.cc index 3910ee97d..752ad4b0a 100644 --- a/winsup/cygwin/fhandler_serial.cc +++ b/winsup/cygwin/fhandler_serial.cc @@ -908,55 +908,50 @@ fhandler_serial::tcgetattr (struct termios *t) memset (t, 0, sizeof (*t)); /* -------------- Baud rate ------------------ */ - - /* If DTR is NOT set, return B0 as our speed */ - if (dtr != TIOCM_DTR) - t->c_cflag = t->c_ospeed = t->c_ispeed = B0; - else - switch (state.BaudRate) - { - case CBR_110: + switch (state.BaudRate) + { + case CBR_110: t->c_cflag = t->c_ospeed = t->c_ispeed = B110; break; - case CBR_300: + case CBR_300: t->c_cflag = t->c_ospeed = t->c_ispeed = B300; break; - case CBR_600: + case CBR_600: t->c_cflag = t->c_ospeed = t->c_ispeed = B600; break; - case CBR_1200: + case CBR_1200: t->c_cflag = t->c_ospeed = t->c_ispeed = B1200; break; - case CBR_2400: + case CBR_2400: t->c_cflag = t->c_ospeed = t->c_ispeed = B2400; break; - case CBR_4800: + case CBR_4800: t->c_cflag = t->c_ospeed = t->c_ispeed = B4800; break; - case CBR_9600: + case CBR_9600: t->c_cflag = t->c_ospeed = t->c_ispeed = B9600; break; - case CBR_19200: + case CBR_19200: t->c_cflag = t->c_ospeed = t->c_ispeed = B19200; break; - case CBR_38400: + case CBR_38400: t->c_cflag = t->c_ospeed = t->c_ispeed = B38400; break; - case CBR_57600: + case CBR_57600: t->c_cflag = t->c_ospeed = t->c_ispeed = B57600; break; - case CBR_115200: + case CBR_115200: t->c_cflag = t->c_ospeed = t->c_ispeed = B115200; break; - case 230400: /* CBR_230400 - not defined */ + case 230400: /* CBR_230400 - not defined */ t->c_cflag = t->c_ospeed = t->c_ispeed = B230400; break; - default: + default: /* Unsupported baud rate! */ termios_printf ("Invalid baud rate %d", state.BaudRate); set_errno (EINVAL); return -1; - } + } /* -------------- Byte size ------------------ */ |