diff options
author | 1998-01-17 16:27:30 +0000 | |
---|---|---|
committer | 1998-01-17 16:27:30 +0000 | |
commit | 3ef968cd5e6a7f59ac4f665918a97e4597335327 (patch) | |
tree | 6a160bb76b356b97b64f438f63a11b6c82c5bb8a /lib/libcurses/lib_raw.c | |
parent | Add _ti_get_screensize(), like ncurses's _nc_get_screensize() (diff) | |
download | wireguard-openbsd-3ef968cd5e6a7f59ac4f665918a97e4597335327.tar.xz wireguard-openbsd-3ef968cd5e6a7f59ac4f665918a97e4597335327.zip |
Use _ti_get_screensize() from libtermlib to update screen size if changed
after a program is suspended.
Define EXTERN_TERMINFO in curses.h.
Update to ncurses-4.1-980103 and crank minor.
Diffstat (limited to 'lib/libcurses/lib_raw.c')
-rw-r--r-- | lib/libcurses/lib_raw.c | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/lib/libcurses/lib_raw.c b/lib/libcurses/lib_raw.c index 204d3424227..e52eb4c6bc1 100644 --- a/lib/libcurses/lib_raw.c +++ b/lib/libcurses/lib_raw.c @@ -1,4 +1,4 @@ -/* $OpenBSD: lib_raw.c,v 1.3 1997/12/03 05:21:27 millert Exp $ */ +/* $OpenBSD: lib_raw.c,v 1.4 1998/01/17 16:27:35 millert Exp $ */ /*************************************************************************** @@ -43,7 +43,7 @@ #include <curses.priv.h> #include <term.h> /* cur_term */ -MODULE_ID("Id: lib_raw.c,v 1.21 1997/11/01 19:05:35 tom Exp $") +MODULE_ID("Id: lib_raw.c,v 1.22 1998/01/03 21:59:22 tom Exp $") #if defined(SVR4_TERMIO) && !defined(_POSIX_SOURCE) #define _POSIX_SOURCE @@ -53,6 +53,11 @@ MODULE_ID("Id: lib_raw.c,v 1.21 1997/11/01 19:05:35 tom Exp $") #include <sys/termio.h> /* needed for ISC */ #endif +#ifdef __EMX__ +#include <io.h> +#include <fcntl.h> +#endif + /* may be undefined if we're using termio.h */ #ifndef TOSTOP #define TOSTOP 0 @@ -233,6 +238,10 @@ int raw(void) SP->_raw = TRUE; SP->_cbreak = TRUE; +#ifdef __EMX__ + setmode(SP->_ifd, O_BINARY); +#endif + #ifdef TERMIOS BEFORE("raw"); cur_term->Nttyb.c_lflag &= ~(ICANON|ISIG); @@ -252,6 +261,10 @@ int cbreak(void) SP->_cbreak = TRUE; +#ifdef __EMX__ + setmode(SP->_ifd, O_BINARY); +#endif + #ifdef TERMIOS BEFORE("cbreak"); cur_term->Nttyb.c_lflag &= ~ICANON; @@ -282,6 +295,11 @@ int nl(void) SP->_nl = TRUE; +#ifdef __EMX__ + fflush(SP->_ofp); + _fsetmode(SP->_ofp, "t"); +#endif + returnCode(OK); } @@ -313,6 +331,10 @@ int noraw(void) SP->_raw = FALSE; SP->_cbreak = FALSE; +#ifdef __EMX__ + setmode(SP->_ifd, O_TEXT); +#endif + #ifdef TERMIOS BEFORE("noraw"); cur_term->Nttyb.c_lflag |= ISIG|ICANON; @@ -329,7 +351,11 @@ int nocbreak(void) { T((T_CALLED("nocbreak()"))); - SP->_cbreak = 0; + SP->_cbreak = FALSE; + +#ifdef __EMX__ + setmode(SP->_ifd, O_TEXT); +#endif #ifdef TERMIOS BEFORE("nocbreak"); @@ -356,6 +382,11 @@ int nonl(void) SP->_nl = FALSE; +#ifdef __EMX__ + fflush(SP->_ofp); + _fsetmode(SP->_ofp, "b"); +#endif + returnCode(OK); } |