From 38c85167092754d4ed11bd9c134eae84d11d2ed8 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 23 May 2008 15:48:39 +0000 Subject: 2008-05-23 Joel Sherrill * 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. --- c/src/lib/libbsp/i386/ChangeLog | 6 +++ c/src/lib/libbsp/i386/shared/comm/tty_drv.c | 62 ++--------------------------- 2 files changed, 10 insertions(+), 58 deletions(-) (limited to 'c/src') diff --git a/c/src/lib/libbsp/i386/ChangeLog b/c/src/lib/libbsp/i386/ChangeLog index 51bbc2051c..53085de6e7 100644 --- a/c/src/lib/libbsp/i386/ChangeLog +++ b/c/src/lib/libbsp/i386/ChangeLog @@ -1,3 +1,9 @@ +2008-05-23 Joel Sherrill + + * 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. + 2008-04-23 Joel Sherrill * shared/comm/tty_drv.c: Remove all references to 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) { -- cgit v1.2.3