freebsd-dev/lib/libncurses/lib_endwin.c

51 lines
847 B
C
Raw Normal View History

/* This work is copyrighted. See COPYRIGHT.OLD & COPYRIGHT.NEW for *
* details. If they are missing then this copy is in violation of *
* the copyright conditions. */
/*
** lib_endwin.c
**
** The routine endwin().
**
*/
1994-12-02 06:40:24 +00:00
#include "terminfo.h"
#include "curses.priv.h"
int isendwin()
{
1994-12-02 06:40:24 +00:00
if (SP == NULL)
return FALSE;
return SP->_endwin;
}
int
endwin()
{
T(("endwin() called"));
1994-12-02 06:40:24 +00:00
SP->_endwin = TRUE;
1994-12-02 07:35:48 +00:00
if (change_scroll_region)
putp(tparm(change_scroll_region, 0, lines - 1));
mvcur(-1, -1, lines - 1, 0);
if (exit_ca_mode)
1994-12-02 06:40:24 +00:00
putp(exit_ca_mode);
1994-12-02 06:40:24 +00:00
if (SP->_coloron == TRUE)
putp(orig_pair);
if (curscr && (curscr->_attrs != A_NORMAL))
vidattr(curscr->_attrs = A_NORMAL);
1994-12-02 06:40:24 +00:00
if (SP->_cursor != 1)
putp(cursor_normal);
fflush(SP->_ofp);
return(reset_shell_mode());
}