summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_serial.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-08-11 17:03:18 +0000
committerChristopher Faylor <me@cgf.cx>2005-08-11 17:03:18 +0000
commit205a5751885366e8935b57105d9ee4792197d2aa (patch)
treebaac4e5aa86f6c2349ec6fe12574314630bfaed6 /winsup/cygwin/fhandler_serial.cc
parentb21413b3042eb28cc4ac7e182426e1548eea62a5 (diff)
downloadcygnal-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.cc37
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 ------------------ */