diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-23 15:48:39 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-23 15:48:39 +0000 |
commit | 38c85167092754d4ed11bd9c134eae84d11d2ed8 (patch) | |
tree | 871a69470e8eff10eaf61eeb34584499d774085c /c/src/lib/libbsp/i386/shared/comm | |
parent | 2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-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')
-rw-r--r-- | c/src/lib/libbsp/i386/shared/comm/tty_drv.c | 62 |
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) { |