From 1fee20d41cc59387ba625326c56ae6476fd93101 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Thu, 17 Apr 1986 04:20:59 +0000 Subject: [PATCH] add LCC - a better C-Compiler for WEGA --- WEGA/contrib/lcc/contrib/libcurses/getch.c | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 WEGA/contrib/lcc/contrib/libcurses/getch.c diff --git a/WEGA/contrib/lcc/contrib/libcurses/getch.c b/WEGA/contrib/lcc/contrib/libcurses/getch.c new file mode 100644 index 0000000..beb0d52 --- /dev/null +++ b/WEGA/contrib/lcc/contrib/libcurses/getch.c @@ -0,0 +1,45 @@ +/* + * Copyright (c) 1980 Regents of the University of California. + * All rights reserved. The Berkeley software License Agreement + * specifies the terms and conditions for redistribution. + */ + +#ifndef lint +static char sccsid[] = "@(#)getch.c 5.3 (Berkeley) 4/16/86"; +#endif not lint + +# include "curses.ext" + +/* + * This routine reads in a character from the window. + * + */ +wgetch(win) +reg WINDOW *win; { + + reg bool weset = FALSE; + reg char inp; + + if (!win->_scroll && (win->_flags&_FULLWIN) + && win->_curx == win->_maxx - 1 && win->_cury == win->_maxy - 1) + return ERR; +# ifdef DEBUG + fprintf(outf, "WGETCH: _echoit = %c, _rawmode = %c\n", _echoit ? 'T' : 'F', _rawmode ? 'T' : 'F'); +# endif + if (_echoit && !_rawmode) { + cbreak(); + weset++; + } + inp = getchar(); +# ifdef DEBUG + fprintf(outf,"WGETCH got '%s'\n",unctrl(inp)); +# endif + if (_echoit) { + mvwaddch(curscr, win->_cury + win->_begy, + win->_curx + win->_begx, inp); + waddch(win, inp); + } + if (weset) + nocbreak(); + return inp; +}