|
|
researchv10 Norman
#include "curses.ext"
/* @(#) meta.c: 1.1 10/15/83 (1.19 3/17/83) */
/*
* TRUE => all 8 bits of input character should be passed through.
*/
meta(win,bf)
WINDOW *win; int bf;
{
int _outch();
if (!has_meta_key)
return ERR;
/*
* Do the appropriate fiddling with the tty driver to make it send
* all 8 bits through. On USG this means clearing ISTRIP, on
* V7 you have to resort to RAW mode.
*/
#ifdef USG
if (bf) {
(cur_term->Nttyb).c_iflag &= ~ISTRIP;
(cur_term->Nttyb).c_cflag &= ~CSIZE;
(cur_term->Nttyb).c_cflag |= CS8;
(cur_term->Nttyb).c_cflag &= ~PARENB;
} else {
(cur_term->Nttyb).c_iflag |= ISTRIP;
(cur_term->Nttyb).c_cflag &= ~CSIZE;
(cur_term->Nttyb).c_cflag |= CS7;
(cur_term->Nttyb).c_cflag |= PARENB;
}
#else
if (bf)
raw();
else
noraw();
#endif
reset_prog_mode();
/*
* Do whatever is needed to put the terminal into meta-mode.
*/
if (bf)
tputs(meta_on, 1, _outch);
else
tputs(meta_off, 1, _outch);
/* Keep track internally. */
win->_use_meta = bf;
return OK;
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.