static char *sccsid
= "@(#)wwinit.c 1.8 83/07/29";
struct ww_tty wwnewtty
= {
{ -1, -1, -1, -1, -1, -1 },
{ -1, -1, -1, -1, -1, -1 },
static char *kp
= _wwkeys
;
_wwdtablesize
= getdtablesize();
if (wwgettty(0, &wwoldtty
) < 0)
wwwintty
.ww_sgttyb
.sg_flags
&= ~XTABS
;
wwnewtty
.ww_sgttyb
.sg_flags
= wwoldtty
.ww_sgttyb
.sg_flags
;
wwnewtty
.ww_sgttyb
.sg_ispeed
= wwoldtty
.ww_sgttyb
.sg_ispeed
;
wwnewtty
.ww_sgttyb
.sg_ospeed
= wwoldtty
.ww_sgttyb
.sg_ospeed
;
wwnewtty
.ww_lmode
= wwoldtty
.ww_lmode
;
wwnewtty
.ww_pgrp
= wwoldtty
.ww_pgrp
;
wwnewtty
.ww_ldisc
= wwoldtty
.ww_ldisc
;
wwnewtty
.ww_sgttyb
.sg_flags
|= CBREAK
;
wwnewtty
.ww_sgttyb
.sg_flags
&= ~(ECHO
|CRMOD
);
wwnewtty
.ww_lmode
|= LLITOUT
;
if (wwsettty(0, &wwnewtty
) < 0)
Wscreensize(&wwnrow
, &wwncol
);
if (tgetent(_wwtermcap
, getenv("TERM")) != 1)
if ((kn
= tgetnum("kn")) >= 0) {
sprintf(kp
, "kn#%d:", kn
);
for (i
= 1; i
<= kn
; i
++) {
if ((str
= tgetstr(cap
, &tp
)) != 0) {
for (p
= unctrl(*str
++); *kp
++ = *p
++;)