X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/9de8678851a14e973f75ecc0bb86a9c6ecc43df1..1c15e88899094343f75aeba04122cd96a96b428e:/usr/src/usr.bin/window/ttinit.c diff --git a/usr/src/usr.bin/window/ttinit.c b/usr/src/usr.bin/window/ttinit.c index a5b45e083a..d10fedc13d 100644 --- a/usr/src/usr.bin/window/ttinit.c +++ b/usr/src/usr.bin/window/ttinit.c @@ -5,15 +5,30 @@ * This code is derived from software contributed to Berkeley by * Edward Wang at The University of California, Berkeley. * - * %sccs.include.redist.c% + * Redistribution and use in source and binary forms are permitted provided + * that: (1) source distributions retain this entire copyright notice and + * comment, and (2) distributions including binaries display the following + * acknowledgement: ``This product includes software developed by the + * University of California, Berkeley and its contributors'' in the + * documentation or other materials provided with the distribution and in + * all advertising materials mentioning features or use of this software. + * Neither the name of the University nor the names of its contributors may + * be used to endorse or promote products derived from this software without + * specific prior written permission. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ #ifndef lint -static char sccsid[] = "@(#)ttinit.c 3.27 (Berkeley) %G%"; +static char sccsid[] = "@(#)ttinit.c 3.26 (Berkeley) 6/6/90"; #endif /* not lint */ #include "ww.h" #include "tt.h" +#ifdef POSIX_TTY +#include +#endif int tt_h19(); int tt_h29(); @@ -44,6 +59,7 @@ ttinit() register struct tt_tab *tp; register char *p, *q; register char *t; + struct winsize winsize; int ttflush(); tt_strp = tt_strings; @@ -86,8 +102,12 @@ ttinit() wwerrno = WWE_CANTDO; return -1; } - if (wwgetttysize(0, &tt.tt_nrow, &tt.tt_ncol) < 0) - return -1; + if (ioctl(0, TIOCGWINSZ, (char *)&winsize) >= 0) { + if (winsize.ws_row != 0) + tt.tt_nrow = winsize.ws_row; + if (winsize.ws_col != 0) + tt.tt_ncol = winsize.ws_col; + } tt.tt_scroll_top = 0; tt.tt_scroll_bot = tt.tt_nrow - 1; tt.tt_flush = ttflush;