--- gforth/engine/io.h 1998/05/02 21:29:02 1.2 +++ gforth/engine/io.h 2012/12/31 15:25:19 1.18 @@ -1,12 +1,12 @@ /* Input driver header - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995,1996,1997,1998,1999,2003,2007,2012 Free Software Foundation, Inc. This file is part of Gforth. Gforth is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 + as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,33 +15,31 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + along with this program; if not, see http://www.gnu.org/licenses/. */ #include -extern jmp_buf throw_jmp_buf; +extern PER_THREAD jmp_buf * throw_jmp_handler; -#ifdef MSDOS +#if defined(MSDOS) || defined(SHARC) # define prep_terminal() # define deprep_terminal() # include -# define key() getch() -# define key_query FLAG(kbhit()) +# define key(stdin) getch() +# define key_query(stdin) FLAG(kbhit()) #else -unsigned char getkey(FILE *); +Cell getkey(FILE *); long key_avail(FILE *); void prep_terminal(void); void deprep_terminal(void); void get_winsize(void); -# define key() getkey(stdin) -# define key_query -(!!key_avail(stdin)) /* !! FLAG(...)? - anton */ - /* flag was originally wrong -- lennart */ +# define key(stdin) getkey(stdin) +# define key_query(stdin) FLAG(!!key_avail(stdin)) + /* FLAG only negates, key_avail may return the number available */ #endif -void install_signal_handlers(void); extern UCell rows, cols; extern int terminal_prepped;