aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/tset/tset.c
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1994-09-09 03:11:15 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1994-09-09 03:11:15 +0000
commitd2b6c8e0374d0024de7e29bf8672cc683cb71db2 (patch)
treeea9c411e8be61a61cd041a01c59bf9f047102927 /usr.bin/tset/tset.c
parent28fccc17496286693b89a088778b59c0006eb6c1 (diff)
downloadsrc-d2b6c8e0374d0024de7e29bf8672cc683cb71db2.tar.gz
src-d2b6c8e0374d0024de7e29bf8672cc683cb71db2.zip
Speed matching code never successful, because ospeed range is [0..17]
but termios speed range is [0..115200]. Of cource ospeed initialized with wrong value too which cann affects terminals with padding, fixed. 57600,115200 added.
Notes
Notes: svn path=/head/; revision=2599
Diffstat (limited to 'usr.bin/tset/tset.c')
-rw-r--r--usr.bin/tset/tset.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/usr.bin/tset/tset.c b/usr.bin/tset/tset.c
index 3cc2a133b8a3..c0156300d410 100644
--- a/usr.bin/tset/tset.c
+++ b/usr.bin/tset/tset.c
@@ -63,6 +63,7 @@ int intrchar; /* new interrupt character */
int isreset; /* invoked as reset */
int killchar; /* new kill character */
int lines, columns; /* window size */
+speed_t Ospeed;
int
main(argc, argv)
@@ -79,7 +80,35 @@ main(argc, argv)
err("standard error: %s", strerror(errno));
oldmode = mode;
- ospeed = cfgetospeed(&mode);
+ Ospeed = cfgetospeed(&mode);
+ switch(Ospeed) {
+ case B0: ospeed = 0; break;
+ case B50: ospeed = 1; break;
+ case B75: ospeed = 2; break;
+ case B110: ospeed = 3; break;
+ case B134: ospeed = 4; break;
+ case B150: ospeed = 5; break;
+ case B200: ospeed = 6; break;
+ case B300: ospeed = 7; break;
+ case B600: ospeed = 8; break;
+ case B1200: ospeed = 9; break;
+ case B1800: ospeed = 10; break;
+ case B2400: ospeed = 11; break;
+ case B4800: ospeed = 12; break;
+ case B9600: ospeed = 13; break;
+#ifdef EXTA
+ case EXTA: ospeed = 14; break;
+#endif
+#ifdef EXTB
+ case EXTB: ospeed = 15; break;
+#endif
+#ifdef B57600
+ case B57600: ospeed = 16; break;
+#endif
+#ifdef B115200
+ case B115200: ospeed = 17; break;
+#endif
+ }
if (p = strrchr(*argv, '/'))
++p;