summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/shared/comm/tty_drv.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-23 15:48:39 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-05-23 15:48:39 +0000
commit38c85167092754d4ed11bd9c134eae84d11d2ed8 (patch)
tree871a69470e8eff10eaf61eeb34584499d774085c /c/src/lib/libbsp/i386/shared/comm/tty_drv.c
parent2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-38c85167092754d4ed11bd9c134eae84d11d2ed8.tar.bz2
2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/comm/tty_drv.c: Eliminate copies of switches to convert termios Bxxx constants to xxx as an integer. Use the shared termios_baud_to_number() routine to do the same conversion.
Diffstat (limited to 'c/src/lib/libbsp/i386/shared/comm/tty_drv.c')
-rw-r--r--c/src/lib/libbsp/i386/shared/comm/tty_drv.c62
1 files changed, 4 insertions, 58 deletions
diff --git a/c/src/lib/libbsp/i386/shared/comm/tty_drv.c b/c/src/lib/libbsp/i386/shared/comm/tty_drv.c
index 010fea200a..397fc28f1e 100644
--- a/c/src/lib/libbsp/i386/shared/comm/tty_drv.c
+++ b/c/src/lib/libbsp/i386/shared/comm/tty_drv.c
@@ -261,64 +261,10 @@ conSetAttr(int port, int minor, const struct termios *t)
{
unsigned long baud, databits, parity, stopbits;
- switch (t->c_cflag & CBAUD)
- {
- case B50:
- baud = 50;
- break;
- case B75:
- baud = 75;
- break;
- case B110:
- baud = 110;
- break;
- case B134:
- baud = 134;
- break;
- case B150:
- baud = 150;
- break;
- case B200:
- baud = 200;
- break;
- case B300:
- baud = 300;
- break;
- case B600:
- baud = 600;
- break;
- case B1200:
- baud = 1200;
- break;
- case B1800:
- baud = 1800;
- break;
- case B2400:
- baud = 2400;
- break;
- case B4800:
- baud = 4800;
- break;
- case B9600:
- baud = 9600;
- break;
- case B19200:
- baud = 19200;
- break;
- case B38400:
- baud = 38400;
- break;
- case B57600:
- baud = 57600;
- break;
- case B115200:
- baud = 115200;
- break;
- default:
- baud = 0;
- rtems_fatal_error_occurred (RTEMS_INTERNAL_ERROR);
- return 0;
- }
+ baud = termios_baud_to_number(t->c_cflag & CBAUD);
+ if ( baud > 115200 )
+ rtems_fatal_error_occurred (RTEMS_INTERNAL_ERROR);
+
if (t->c_cflag & PARENB) {
/* Parity is enabled */
if (t->c_cflag & PARODD) {