summaryrefslogtreecommitdiffstats
path: root/lib/libcurses/lib_endwin.c
diff options
context:
space:
mode:
authormillert <millert@openbsd.org>1997-12-03 05:20:47 +0000
committermillert <millert@openbsd.org>1997-12-03 05:20:47 +0000
commit6f4099fecac342eeff29dd2bf0512f777a62a591 (patch)
tree30035276ed4d5b07245464d724dd101dc9b5efb4 /lib/libcurses/lib_endwin.c
parentmerge of ncurses-4.1-971129 (diff)
downloadwireguard-openbsd-6f4099fecac342eeff29dd2bf0512f777a62a591.tar.xz
wireguard-openbsd-6f4099fecac342eeff29dd2bf0512f777a62a591.zip
Merge of ncurses-4.1-971129
Diffstat (limited to 'lib/libcurses/lib_endwin.c')
-rw-r--r--lib/libcurses/lib_endwin.c36
1 files changed, 9 insertions, 27 deletions
diff --git a/lib/libcurses/lib_endwin.c b/lib/libcurses/lib_endwin.c
index f3fce19e72a..a5b96972691 100644
--- a/lib/libcurses/lib_endwin.c
+++ b/lib/libcurses/lib_endwin.c
@@ -1,3 +1,5 @@
+/* $OpenBSD: lib_endwin.c,v 1.4 1997/12/03 05:21:16 millert Exp $ */
+
/***************************************************************************
* COPYRIGHT NOTICE *
@@ -30,39 +32,19 @@
#include <curses.priv.h>
#include <term.h>
-MODULE_ID("Id: lib_endwin.c,v 1.10 1997/02/02 00:36:41 tom Exp $")
+MODULE_ID("Id: lib_endwin.c,v 1.13 1997/10/11 22:05:27 tom Exp $")
int
endwin(void)
{
T((T_CALLED("endwin()")));
- SP->_endwin = TRUE;
-
- _nc_mouse_wrap(SP);
-
- /* SP->_curs{row,col} may be used later in _nc_mvcur_wrap,save_curs */
- mvcur(-1, -1, SP->_cursrow = screen_lines - 1, SP->_curscol = 0);
-
- curs_set(1); /* set cursor to normal mode */
-
- if (SP->_coloron == TRUE && orig_pair)
- putp(orig_pair);
-
- _nc_mvcur_wrap(); /* wrap up cursor addressing */
-
- if (SP && (SP->_current_attr != A_NORMAL))
- vidattr(A_NORMAL);
-
- /*
- * Reset terminal's tab counter. There's a long-time bug that
- * if you exit a "curses" program such as vi or more, tab
- * forward, and then backspace, the cursor doesn't go to the
- * right place. The problem is that the kernel counts the
- * escape sequences that reset things as column positions.
- * Utter a \r to reset this invisibly.
- */
- _nc_outch('\r');
+ if (SP) {
+ SP->_endwin = TRUE;
+ SP->_mouse_wrap(SP);
+ _nc_screen_wrap();
+ _nc_mvcur_wrap(); /* wrap up cursor addressing */
+ }
returnCode(reset_shell_mode());
}