diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 1994-08-28 21:47:13 +0000 | 
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 1994-08-28 21:47:13 +0000 | 
| commit | f20105311324cd9998979d6302c79f7b6dc1879f (patch) | |
| tree | 15d0f287c735370d7c344c86a8addbbf04e4b2a5 /lib/libcurses/setterm.c | |
| parent | c69d09e4359180c046b109e2084de520486fdaf8 (diff) | |
Notes
Diffstat (limited to 'lib/libcurses/setterm.c')
| -rw-r--r-- | lib/libcurses/setterm.c | 42 | 
1 files changed, 39 insertions, 3 deletions
| diff --git a/lib/libcurses/setterm.c b/lib/libcurses/setterm.c index 1d134903c112..ab84e9db4965 100644 --- a/lib/libcurses/setterm.c +++ b/lib/libcurses/setterm.c @@ -44,6 +44,9 @@ static char sccsid[] = "@(#)setterm.c	8.7 (Berkeley) 7/27/94";  #include "curses.h" +#undef ospeed +extern short ospeed; +  static void zap __P((void));  static char	*sflags[] = { @@ -151,13 +154,46 @@ setterm(type)  		CA = 1;  	PC = _PC ? _PC[0] : 0; + +	switch(cfgetospeed(&__baset)) { +		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 +	} +  	aoftspace = tspace;  	ttytype = longname(genbuf, __ttytype); +	__usecs = +	    (AL == NULL && al == NULL || DL == NULL && dl == NULL) && +	    !NS && (SC != NULL && RC != NULL || HO != NULL) && +	    CS != NULL && (SR != NULL || sr != NULL); +  	/* If no scrolling commands, no quick change. */ -	__noqch = -	    (CS == NULL || HO == NULL || -	    SF == NULL && sf == NULL || SR == NULL && sr == NULL) && +	__noqch = !__usecs &&  	    (AL == NULL && al == NULL || DL == NULL && dl == NULL);  	return (unknown ? ERR : OK); | 
