]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 5.6 - patch 20080119
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 20 Jan 2008 00:51:10 +0000 (00:51 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 20 Jan 2008 00:51:10 +0000 (00:51 +0000)
+ fixes to build with --disable-ext-funcs
+ add manpage for use_window and use_screen.
+ add set_tabsize() and set_escdelay() functions.

17 files changed:
MANIFEST
NEWS
c++/cursesw.h
dist.mk
form/frm_driver.c
include/curses.h.in
man/curs_threads.3x [new file with mode: 0644]
man/man_db.renames
man/manlinks.sed
ncurses/base/lib_getch.c
ncurses/llib-lncursest [new file with mode: 0644]
ncurses/tinfo/lib_setup.c
progs/infocmp.c
test/ncurses.c
test/test_opaque.c
test/view.c
test/worm.c

index 3923e0855616c93b4e1e08dcb3578631c732f73b..62f052ff1801a0d0e391462411646489c020f4a5 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./man/curs_termattrs.3x
 ./man/curs_termcap.3x
 ./man/curs_terminfo.3x
 ./man/curs_termattrs.3x
 ./man/curs_termcap.3x
 ./man/curs_terminfo.3x
+./man/curs_threads.3x
 ./man/curs_touch.3x
 ./man/curs_trace.3x
 ./man/curs_util.3x
 ./man/curs_touch.3x
 ./man/curs_trace.3x
 ./man/curs_util.3x
 ./ncurses/curses.priv.h
 ./ncurses/fifo_defs.h
 ./ncurses/llib-lncurses
 ./ncurses/curses.priv.h
 ./ncurses/fifo_defs.h
 ./ncurses/llib-lncurses
+./ncurses/llib-lncursest
 ./ncurses/llib-lncursesw
 ./ncurses/modules
 ./ncurses/tinfo/MKcaptab.awk
 ./ncurses/llib-lncursesw
 ./ncurses/modules
 ./ncurses/tinfo/MKcaptab.awk
diff --git a/NEWS b/NEWS
index 72b0b8df78daabb583b03f08b8398b4982db3bcb..8c771608fc51f1bf92a768c10303fc941130e5c0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1197 2008/01/13 01:05:34 tom Exp $
+-- $Id: NEWS,v 1.1199 2008/01/19 21:10:02 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,11 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20080119
+       + fixes to build with --disable-ext-funcs
+       + add manpage for use_window and use_screen.
+       + add set_tabsize() and set_escdelay() functions.
+
 20080112
        + remove recursive-mutex definitions, finish threading demo for worm.c
        + remove a redundant adjustment of lines in resizeterm.c's
 20080112
        + remove recursive-mutex definitions, finish threading demo for worm.c
        + remove a redundant adjustment of lines in resizeterm.c's
index a3de6313ac85a9bd8d42cea2b4bfd6eb8f50c8c7..b8e921a9b7aa41edb1d5461b3a276d87a24c34f8 100644 (file)
@@ -1,6 +1,7 @@
 // * This makes emacs happy -*-Mode: C++;-*-
 // * This makes emacs happy -*-Mode: C++;-*-
+// vile:cppmode
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2005,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -30,7 +31,7 @@
 #ifndef NCURSES_CURSESW_H_incl
 #define NCURSES_CURSESW_H_incl 1
 
 #ifndef NCURSES_CURSESW_H_incl
 #define NCURSES_CURSESW_H_incl 1
 
-// $Id: cursesw.h,v 1.47 2007/12/16 00:21:05 tom Exp $
+// $Id: cursesw.h,v 1.48 2008/01/19 21:09:10 tom Exp $
 
 #include <etip.h>
 
 
 #include <etip.h>
 
@@ -1333,7 +1334,7 @@ public:
   // -------------------------------------------------------------------------
   // Extended functions
   // -------------------------------------------------------------------------
   // -------------------------------------------------------------------------
   // Extended functions
   // -------------------------------------------------------------------------
-#ifdef NCURSES_EXT_FUNCS
+#if defined(NCURSES_EXT_FUNCS) && (NCURSES_EXT_FUNCS != 0)
   int            wresize(int newLines, int newColumns) {
     return ::wresize(w, newLines, newColumns); }
 #endif
   int            wresize(int newLines, int newColumns) {
     return ::wresize(w, newLines, newColumns); }
 #endif
diff --git a/dist.mk b/dist.mk
index bde9e4facb5fe23d652669db53c9e4a5a1054ca6..1dca2a7303693cb942dd32bd73f8d1baf54349b5 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.624 2008/01/12 16:01:48 tom Exp $
+# $Id: dist.mk,v 1.625 2008/01/19 18:22:11 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 6
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 6
-NCURSES_PATCH = 20080112
+NCURSES_PATCH = 20080119
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index 25928c5d108c4afb5fced1a4c2139bb14e40b09a..0c0912576dbb9d089c3142cf602bbf0fd44ed933 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -32,7 +32,7 @@
 
 #include "form.priv.h"
 
 
 #include "form.priv.h"
 
-MODULE_ID("$Id: frm_driver.c,v 1.85 2007/11/24 21:32:53 tom Exp $")
+MODULE_ID("$Id: frm_driver.c,v 1.86 2008/01/19 20:11:03 tom Exp $")
 
 /*----------------------------------------------------------------------------
   This is the core module of the form library. It contains the majority
 
 /*----------------------------------------------------------------------------
   This is the core module of the form library. It contains the majority
@@ -676,7 +676,7 @@ Field_Grown(FIELD *field, int amount)
              new_bp[new_buflen] = myZEROS;
            }
 
              new_bp[new_buflen] = myZEROS;
            }
 
-#if USE_WIDEC_SUPPORT
+#if USE_WIDEC_SUPPORT && NCURSES_EXT_FUNCS
          if (wresize(field->working, 1, Buffer_Length(field) + 1) == ERR)
            result = FALSE;
 #endif
          if (wresize(field->working, 1, Buffer_Length(field) + 1) == ERR)
            result = FALSE;
 #endif
index fef51760111e43ba96d28e41b7893e77a2e0b0fe..b3379bf46bb87601067de5604fe6a2d8e4573e70 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -32,7 +32,7 @@
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
  *     and: Thomas E. Dickey                        1996-on                 *
  ****************************************************************************/
 
-/* $Id: curses.h.in,v 1.181 2007/11/18 00:32:03 tom Exp $ */
+/* $Id: curses.h.in,v 1.183 2008/01/19 20:03:48 tom Exp $ */
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
 
 #ifndef __NCURSES_H
 #define __NCURSES_H
@@ -827,7 +827,6 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *);                        /* generated */
 /*
  * These functions are extensions - not in X/Open Curses.
  */
 /*
  * These functions are extensions - not in X/Open Curses.
  */
-#undef  NCURSES_EXT_FUNCS
 #if @NCURSES_EXT_FUNCS@
 #undef  NCURSES_EXT_FUNCS
 #define NCURSES_EXT_FUNCS @NCURSES_PATCH@
 #if @NCURSES_EXT_FUNCS@
 #undef  NCURSES_EXT_FUNCS
 #define NCURSES_EXT_FUNCS @NCURSES_PATCH@
@@ -841,6 +840,8 @@ extern NCURSES_EXPORT(int) key_defined (const char *);
 extern NCURSES_EXPORT(int) keyok (int, bool);
 extern NCURSES_EXPORT(int) resize_term (int, int);
 extern NCURSES_EXPORT(int) resizeterm (int, int);
 extern NCURSES_EXPORT(int) keyok (int, bool);
 extern NCURSES_EXPORT(int) resize_term (int, int);
 extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
 extern NCURSES_EXPORT(int) use_default_colors (void);
 extern NCURSES_EXPORT(int) use_extended_names (bool);
 extern NCURSES_EXPORT(int) use_legacy_coding (int);
 extern NCURSES_EXPORT(int) use_default_colors (void);
 extern NCURSES_EXPORT(int) use_extended_names (bool);
 extern NCURSES_EXPORT(int) use_legacy_coding (int);
diff --git a/man/curs_threads.3x b/man/curs_threads.3x
new file mode 100644 (file)
index 0000000..de7714b
--- /dev/null
@@ -0,0 +1,113 @@
+.\"***************************************************************************
+.\" Copyright (c) 2008 Free Software Foundation, Inc.                        *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: curs_threads.3x,v 1.4 2008/01/19 23:29:24 tom Exp $
+.TH curs_threads 3X ""
+.na
+.hy 0
+.SH NAME
+\fBuse_screen\fR,
+\fBuse_window\fR - \fBcurses\fR thread support
+.ad
+.hy
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+.sp
+\fBtypedef int (*NCURSES_CALLBACK)(WINDOW *, void *);\fR
+.br
+\fBint set_escdelay(int size);\fR
+.br
+\fBint set_tabsize(int size);\fR
+.br
+\fBint use_screen(SCREEN *scr, NCURSES_CALLBACK func, void *data);\fR
+.br
+\fBint use_window(WINDOW *win, NCURSES_CALLBACK func, void *data);\fR
+.br
+.SH DESCRIPTION
+This implementation can be configured to provide rudimentary support
+for multi-threaded applications.
+This makes a different set of libraries, e.g., \fIlibncursest\fP since
+the binary interfaces are different.
+.PP
+Rather than modify the interfaces to pass a thread specifier to
+each function, it adds a few functions which can be used in any
+configuration which hide the mutex's needed to prevent concurrent
+use of the global variables when configured for threading.
+.PP
+In addition to forcing access to members of the \fBWINDOW\fP structure
+to be via functions (see \fBcurs_opaque\fP(3x)),
+it makes functions of the common global variables,
+e.g.,
+COLORS,
+COLOR_PAIRS,
+COLS,
+ESCDELAY,
+LINES,
+TABSIZE
+curscr,
+newscr and
+ttytype.
+Those variables are maintained as read-only values, stored in the \fBSCREEN\fP
+structure.
+.PP
+Even this is not enough to make a thread-safe application using curses.
+A multi-threaded application would be expected to have threads updating
+separate windows (within the same device),
+or updating on separate screens (on different devices).
+Also, a few of the global variables are considered writable by some
+applications.
+The functions described here address these special situations.
+.PP
+The ESCDELAY and TABSIZE global variables are modified by some applications.
+To modify them in any configuration,
+use the \fBset_escdelay\fP or \fBset_tabsize\fP functions.
+Other global variables are not modifiable.
+.PP
+The \fBuse_window\fP and \fBuse_screen\fP functions provide coarse
+granularity mutexes for their respective \fBWINDOW\fP and \fBSCREEN\fP
+parameters, and call a user-supplied function,
+passing it a \fIdata\fP parameter,
+and returning the value from the user-supplied function to the application.
+.SH RETURN VALUE
+These functions all return TRUE or FALSE, except as noted.
+.SH NOTES
+Both a macro and a function are provided for each name.
+.SH PORTABILITY
+These routines are specific to ncurses.
+They were not supported on Version 7, BSD or System V implementations.
+It is recommended that any code depending on ncurses extensions
+be conditioned using NCURSES_VERSION.
+.SH SEE ALSO
+\fBcurses\fR(3X),
+\fBcurs_opaque\fR(3X)
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End:
index a84ae809892b77db67a5d23770b3fffca8be1b50..5a09a03598b80b86f41e0d30f5fb5338752cab28 100644 (file)
@@ -1,5 +1,5 @@
 ##############################################################################
 ##############################################################################
-# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.                #
+# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.                #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: man_db.renames,v 0.39 2007/04/07 23:06:31 tom Exp $
+# $Id: man_db.renames,v 0.40 2008/01/19 18:28:50 tom Exp $
 # Manual-page renamings for the man_db program
 #
 # Files:
 # Manual-page renamings for the man_db program
 #
 # Files:
@@ -84,6 +84,7 @@ curs_slk.3x                   slk.3ncurses
 curs_termattrs.3x              termattrs.3ncurses
 curs_termcap.3x                        termcap.3ncurses
 curs_terminfo.3x               terminfo.3ncurses
 curs_termattrs.3x              termattrs.3ncurses
 curs_termcap.3x                        termcap.3ncurses
 curs_terminfo.3x               terminfo.3ncurses
+curs_threads.3x                        threads.3ncurses
 curs_touch.3x                  touch.3ncurses
 curs_trace.3x                  trace.3ncurses
 curs_util.3x                   util.3ncurses
 curs_touch.3x                  touch.3ncurses
 curs_trace.3x                  trace.3ncurses
 curs_util.3x                   util.3ncurses
@@ -116,9 +117,9 @@ form_userptr.3x                     userptr.3form
 form_win.3x                    win.3form
 infocmp.1m                     infocmp.1
 infotocap.1m                   infotocap.1
 form_win.3x                    win.3form
 infocmp.1m                     infocmp.1
 infotocap.1m                   infotocap.1
+key_defined.3x                 key_defined.3ncurses
 keybound.3x                    keybound.3ncurses
 keyok.3x                       keyok.3ncurses
 keybound.3x                    keybound.3ncurses
 keyok.3x                       keyok.3ncurses
-key_defined.3x                 key_defined.3ncurses
 legacy_coding.3x               legacy_coding.3ncurses
 menu.3x                                menu.3menu
 menu_attributes.3x             attributes.3menu
 legacy_coding.3x               legacy_coding.3ncurses
 menu.3x                                menu.3menu
 menu_attributes.3x             attributes.3menu
index 4da7790dfd974569ae77ce77ea524bd52595f677..78055b4c7c7dc217e6bb6670e5567bb45f7a10a7 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: manlinks.sed,v 1.12 2003/12/20 13:17:56 tom Exp $
+# $Id: manlinks.sed,v 1.13 2008/01/19 23:31:17 tom Exp $
 ##############################################################################
 ##############################################################################
-# Copyright (c) 2000-2002,2003 Free Software Foundation, Inc.                #
+# Copyright (c) 2000-2003,2008 Free Software Foundation, Inc.                #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
 #                                                                            #
 # Permission is hereby granted, free of charge, to any person obtaining a    #
 # copy of this software and associated documentation files (the "Software"), #
@@ -35,6 +35,7 @@
 /\.\\"/d
 /^\.br/d
 /^\.sp/d
 /\.\\"/d
 /^\.br/d
 /^\.sp/d
+/typedef/d
 s/^\.IX//
 s/\\f.//g
 s/[:,]/ /g
 s/^\.IX//
 s/\\f.//g
 s/[:,]/ /g
index 64566ccc762943f87e7257898890a229bf70c346..11e8052a668c6c8a430ac660162ed3caa8259acb 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -41,7 +41,7 @@
 
 #include <curses.priv.h>
 
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_getch.c,v 1.80 2007/09/29 20:39:34 tom Exp $")
+MODULE_ID("$Id: lib_getch.c,v 1.82 2008/01/19 21:07:30 tom Exp $")
 
 #include <fifo_defs.h>
 
 
 #include <fifo_defs.h>
 
@@ -56,6 +56,24 @@ NCURSES_EXPORT_VAR(int)
 ESCDELAY = 1000;               /* max interval betw. chars in funkeys, in millisecs */
 #endif
 
 ESCDELAY = 1000;               /* max interval betw. chars in funkeys, in millisecs */
 #endif
 
+#if NCURSES_EXT_FUNCS
+NCURSES_EXPORT(int)
+set_escdelay(int value)
+{
+    int code = OK;
+#if USE_REENTRANT
+    if (SP) {
+       SP->_ESCDELAY = value;
+    } else {
+       code = ERR;
+    }
+#else
+    ESCDELAY = value;
+#endif
+    return code;
+}
+#endif
+
 #ifdef NCURSES_WGETCH_EVENTS
 #define TWAIT_MASK 7
 #else
 #ifdef NCURSES_WGETCH_EVENTS
 #define TWAIT_MASK 7
 #else
diff --git a/ncurses/llib-lncursest b/ncurses/llib-lncursest
new file mode 100644 (file)
index 0000000..48acb8c
--- /dev/null
@@ -0,0 +1,3493 @@
+/****************************************************************************
+ * Copyright (c) 2008 Free Software Foundation, Inc.                        *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Thomas E. Dickey 2008                                           *
+ ****************************************************************************/
+/* LINTLIBRARY */
+
+/* ./tty/hardscroll.c */
+
+#include <curses.priv.h>
+
+#undef _nc_oldnums
+int    *_nc_oldnums;
+
+#undef _nc_scroll_optimize
+void   _nc_scroll_optimize(void)
+               { /* void */ }
+
+#undef _nc_linedump
+void   _nc_linedump(void)
+               { /* void */ }
+
+/* ./tty/hashmap.c */
+
+#include <term.h>
+
+#undef _nc_hash_map
+void   _nc_hash_map(void)
+               { /* void */ }
+
+#undef _nc_make_oldhash
+void   _nc_make_oldhash(
+               int     i)
+               { /* void */ }
+
+#undef _nc_scroll_oldhash
+void   _nc_scroll_oldhash(
+               int     n, 
+               int     top, 
+               int     bot)
+               { /* void */ }
+
+/* ./base/lib_addch.c */
+
+#include <ctype.h>
+
+#undef _nc_render
+chtype _nc_render(
+               WINDOW  *win, 
+               chtype  ch)
+               { return(*(chtype *)0); }
+
+#undef _nc_waddch_nosync
+int    _nc_waddch_nosync(
+               WINDOW  *win, 
+               const chtype c)
+               { return(*(int *)0); }
+
+#undef waddch
+int    waddch(
+               WINDOW  *win, 
+               const chtype ch)
+               { return(*(int *)0); }
+
+#undef wechochar
+int    wechochar(
+               WINDOW  *win, 
+               const chtype ch)
+               { return(*(int *)0); }
+
+/* ./base/lib_addstr.c */
+
+#undef waddnstr
+int    waddnstr(
+               WINDOW  *win, 
+               const char *astr, 
+               int     n)
+               { return(*(int *)0); }
+
+#undef waddchnstr
+int    waddchnstr(
+               WINDOW  *win, 
+               const chtype *astr, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_beep.c */
+
+#undef beep
+int    beep(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_bkgd.c */
+
+#undef wbkgdset
+void   wbkgdset(
+               WINDOW  *win, 
+               chtype  ch)
+               { /* void */ }
+
+#undef wbkgd
+int    wbkgd(
+               WINDOW  *win, 
+               chtype  ch)
+               { return(*(int *)0); }
+
+/* ./base/lib_box.c */
+
+#undef wborder
+int    wborder(
+               WINDOW  *win, 
+               chtype  ls, 
+               chtype  rs, 
+               chtype  ts, 
+               chtype  bs, 
+               chtype  tl, 
+               chtype  tr, 
+               chtype  bl, 
+               chtype  br)
+               { return(*(int *)0); }
+
+/* ./base/lib_chgat.c */
+
+#undef wchgat
+int    wchgat(
+               WINDOW  *win, 
+               int     n, 
+               attr_t  attr, 
+               short   color, 
+               const void *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_clear.c */
+
+#undef wclear
+int    wclear(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_clearok.c */
+
+#undef clearok
+int    clearok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/lib_clrbot.c */
+
+#undef wclrtobot
+int    wclrtobot(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_clreol.c */
+
+#undef wclrtoeol
+int    wclrtoeol(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_color.c */
+
+#include <tic.h>
+
+#undef _nc_COLOR_PAIRS
+int    _nc_COLOR_PAIRS(void)
+               { return(*(int *)0); }
+
+#undef _nc_COLORS
+int    _nc_COLORS(void)
+               { return(*(int *)0); }
+
+#undef _nc_reset_colors
+NCURSES_BOOL _nc_reset_colors(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef start_color
+int    start_color(void)
+               { return(*(int *)0); }
+
+#undef init_pair
+int    init_pair(
+               short   pair, 
+               short   f, 
+               short   b)
+               { return(*(int *)0); }
+
+#undef init_color
+int    init_color(
+               short   color, 
+               short   r, 
+               short   g, 
+               short   b)
+               { return(*(int *)0); }
+
+#undef can_change_color
+NCURSES_BOOL can_change_color(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_colors
+NCURSES_BOOL has_colors(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef color_content
+int    color_content(
+               short   color, 
+               short   *r, 
+               short   *g, 
+               short   *b)
+               { return(*(int *)0); }
+
+#undef pair_content
+int    pair_content(
+               short   pair, 
+               short   *f, 
+               short   *b)
+               { return(*(int *)0); }
+
+#undef _nc_do_color
+void   _nc_do_color(
+               short   old_pair, 
+               short   pair, 
+               NCURSES_BOOL reverse, 
+               int     (*outc)(
+               int     p1))
+               { /* void */ }
+
+/* ./base/lib_colorset.c */
+
+#undef wcolor_set
+int    wcolor_set(
+               WINDOW  *win, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_delch.c */
+
+#undef wdelch
+int    wdelch(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_delwin.c */
+
+#undef delwin
+int    delwin(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_echo.c */
+
+#undef echo
+int    echo(void)
+               { return(*(int *)0); }
+
+#undef noecho
+int    noecho(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_endwin.c */
+
+#undef endwin
+int    endwin(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_erase.c */
+
+#undef werase
+int    werase(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_flash.c */
+
+#undef flash
+int    flash(void)
+               { return(*(int *)0); }
+
+/* ./lib_gen.c */
+
+#undef addch
+int    addch(
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef addchnstr
+int    addchnstr(
+               const chtype *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef addchstr
+int    addchstr(
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef addnstr
+int    addnstr(
+               const char *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef addstr
+int    addstr(
+               const char *z)
+               { return(*(int *)0); }
+
+#undef attroff
+int    attroff(
+               NCURSES_ATTR_T  z)
+               { return(*(int *)0); }
+
+#undef attron
+int    attron(
+               NCURSES_ATTR_T  z)
+               { return(*(int *)0); }
+
+#undef attrset
+int    attrset(
+               NCURSES_ATTR_T  z)
+               { return(*(int *)0); }
+
+#undef attr_get
+int    attr_get(
+               attr_t  *a1, 
+               short   *a2, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef attr_off
+int    attr_off(
+               attr_t  a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef attr_on
+int    attr_on(
+               attr_t  a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef attr_set
+int    attr_set(
+               attr_t  a1, 
+               short   a2, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef bkgd
+int    bkgd(
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef bkgdset
+void   bkgdset(
+               chtype  z)
+               { /* void */ }
+
+#undef border
+int    border(
+               chtype  a1, 
+               chtype  a2, 
+               chtype  a3, 
+               chtype  a4, 
+               chtype  a5, 
+               chtype  a6, 
+               chtype  a7, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef box
+int    box(
+               WINDOW  *a1, 
+               chtype  a2, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef chgat
+int    chgat(
+               int     a1, 
+               attr_t  a2, 
+               short   a3, 
+               const void *z)
+               { return(*(int *)0); }
+
+#undef clear
+int    clear(void)
+               { return(*(int *)0); }
+
+#undef clrtobot
+int    clrtobot(void)
+               { return(*(int *)0); }
+
+#undef clrtoeol
+int    clrtoeol(void)
+               { return(*(int *)0); }
+
+#undef color_set
+int    color_set(
+               short   a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef COLOR_PAIR
+int    COLOR_PAIR(
+               int     z)
+               { return(*(int *)0); }
+
+#undef delch
+int    delch(void)
+               { return(*(int *)0); }
+
+#undef deleteln
+int    deleteln(void)
+               { return(*(int *)0); }
+
+#undef echochar
+int    echochar(
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef erase
+int    erase(void)
+               { return(*(int *)0); }
+
+#undef getbkgd
+chtype getbkgd(
+               WINDOW  *z)
+               { return(*(chtype *)0); }
+
+#undef getch
+int    getch(void)
+               { return(*(int *)0); }
+
+#undef getnstr
+int    getnstr(
+               char    *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef getstr
+int    getstr(
+               char    *z)
+               { return(*(int *)0); }
+
+#undef hline
+int    hline(
+               chtype  a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef inch
+chtype inch(void)
+               { return(*(chtype *)0); }
+
+#undef inchnstr
+int    inchnstr(
+               chtype  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef inchstr
+int    inchstr(
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef innstr
+int    innstr(
+               char    *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef insch
+int    insch(
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef insdelln
+int    insdelln(
+               int     z)
+               { return(*(int *)0); }
+
+#undef insertln
+int    insertln(void)
+               { return(*(int *)0); }
+
+#undef insnstr
+int    insnstr(
+               const char *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef insstr
+int    insstr(
+               const char *z)
+               { return(*(int *)0); }
+
+#undef instr
+int    instr(
+               char    *z)
+               { return(*(int *)0); }
+
+#undef move
+int    move(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddch
+int    mvaddch(
+               int     a1, 
+               int     a2, 
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef mvaddchnstr
+int    mvaddchnstr(
+               int     a1, 
+               int     a2, 
+               const chtype *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddchstr
+int    mvaddchstr(
+               int     a1, 
+               int     a2, 
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef mvaddnstr
+int    mvaddnstr(
+               int     a1, 
+               int     a2, 
+               const char *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddstr
+int    mvaddstr(
+               int     a1, 
+               int     a2, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvchgat
+int    mvchgat(
+               int     a1, 
+               int     a2, 
+               int     a3, 
+               attr_t  a4, 
+               short   a5, 
+               const void *z)
+               { return(*(int *)0); }
+
+#undef mvdelch
+int    mvdelch(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvgetch
+int    mvgetch(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvgetnstr
+int    mvgetnstr(
+               int     a1, 
+               int     a2, 
+               char    *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvgetstr
+int    mvgetstr(
+               int     a1, 
+               int     a2, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvhline
+int    mvhline(
+               int     a1, 
+               int     a2, 
+               chtype  a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinch
+chtype mvinch(
+               int     a1, 
+               int     z)
+               { return(*(chtype *)0); }
+
+#undef mvinchnstr
+int    mvinchnstr(
+               int     a1, 
+               int     a2, 
+               chtype  *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinchstr
+int    mvinchstr(
+               int     a1, 
+               int     a2, 
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef mvinnstr
+int    mvinnstr(
+               int     a1, 
+               int     a2, 
+               char    *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinsch
+int    mvinsch(
+               int     a1, 
+               int     a2, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef mvinsnstr
+int    mvinsnstr(
+               int     a1, 
+               int     a2, 
+               const char *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinsstr
+int    mvinsstr(
+               int     a1, 
+               int     a2, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvinstr
+int    mvinstr(
+               int     a1, 
+               int     a2, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvvline
+int    mvvline(
+               int     a1, 
+               int     a2, 
+               chtype  a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddch
+int    mvwaddch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef mvwaddchnstr
+int    mvwaddchnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const chtype *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddchstr
+int    mvwaddchstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef mvwaddnstr
+int    mvwaddnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddstr
+int    mvwaddstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvwchgat
+int    mvwchgat(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               int     a4, 
+               attr_t  a5, 
+               short   a6, 
+               const void *z)
+               { return(*(int *)0); }
+
+#undef mvwdelch
+int    mvwdelch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwgetch
+int    mvwgetch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwgetnstr
+int    mvwgetnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwgetstr
+int    mvwgetstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvwhline
+int    mvwhline(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinch
+chtype mvwinch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(chtype *)0); }
+
+#undef mvwinchnstr
+int    mvwinchnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinchstr
+int    mvwinchstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef mvwinnstr
+int    mvwinnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinsch
+int    mvwinsch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef mvwinsnstr
+int    mvwinsnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinsstr
+int    mvwinsstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvwinstr
+int    mvwinstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvwvline
+int    mvwvline(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef PAIR_NUMBER
+int    PAIR_NUMBER(
+               int     z)
+               { return(*(int *)0); }
+
+#undef redrawwin
+int    redrawwin(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef refresh
+int    refresh(void)
+               { return(*(int *)0); }
+
+#undef scrl
+int    scrl(
+               int     z)
+               { return(*(int *)0); }
+
+#undef scroll
+int    scroll(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef setscrreg
+int    setscrreg(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef standout
+int    standout(void)
+               { return(*(int *)0); }
+
+#undef standend
+int    standend(void)
+               { return(*(int *)0); }
+
+#undef timeout
+void   timeout(
+               int     z)
+               { /* void */ }
+
+#undef touchline
+int    touchline(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef touchwin
+int    touchwin(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef untouchwin
+int    untouchwin(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef vline
+int    vline(
+               chtype  a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef vw_printw
+int    vw_printw(
+               WINDOW  *a1, 
+               const char *a2, 
+               va_list z)
+               { return(*(int *)0); }
+
+#undef vw_scanw
+int    vw_scanw(
+               WINDOW  *a1, 
+               const char *a2, 
+               va_list z)
+               { return(*(int *)0); }
+
+#undef waddchstr
+int    waddchstr(
+               WINDOW  *a1, 
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef waddstr
+int    waddstr(
+               WINDOW  *a1, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef wattron
+int    wattron(
+               WINDOW  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wattroff
+int    wattroff(
+               WINDOW  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wattrset
+int    wattrset(
+               WINDOW  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wattr_get
+int    wattr_get(
+               WINDOW  *a1, 
+               attr_t  *a2, 
+               short   *a3, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef wattr_set
+int    wattr_set(
+               WINDOW  *a1, 
+               attr_t  a2, 
+               short   a3, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef wdeleteln
+int    wdeleteln(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef wgetstr
+int    wgetstr(
+               WINDOW  *a1, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef winchstr
+int    winchstr(
+               WINDOW  *a1, 
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef winsertln
+int    winsertln(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef winsstr
+int    winsstr(
+               WINDOW  *a1, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef winstr
+int    winstr(
+               WINDOW  *a1, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef wstandout
+int    wstandout(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef wstandend
+int    wstandend(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef getattrs
+int    getattrs(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getcurx
+int    getcurx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getcury
+int    getcury(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getbegx
+int    getbegx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getbegy
+int    getbegy(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getmaxx
+int    getmaxx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getmaxy
+int    getmaxy(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getparx
+int    getparx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getpary
+int    getpary(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef wgetparent
+WINDOW *wgetparent(
+               const WINDOW *z)
+               { return(*(WINDOW **)0); }
+
+#undef is_cleared
+NCURSES_BOOL is_cleared(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_idcok
+NCURSES_BOOL is_idcok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_idlok
+NCURSES_BOOL is_idlok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_immedok
+NCURSES_BOOL is_immedok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_keypad
+NCURSES_BOOL is_keypad(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_leaveok
+NCURSES_BOOL is_leaveok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_nodelay
+NCURSES_BOOL is_nodelay(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_notimeout
+NCURSES_BOOL is_notimeout(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_scrollok
+NCURSES_BOOL is_scrollok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_syncok
+NCURSES_BOOL is_syncok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef wgetscrreg
+int    wgetscrreg(
+               const WINDOW *a1, 
+               int     *a2, 
+               int     *z)
+               { return(*(int *)0); }
+
+#undef mouse_trafo
+NCURSES_BOOL mouse_trafo(
+               int     *a1, 
+               int     *a2, 
+               NCURSES_BOOL    z)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./base/lib_getch.c */
+
+#include <fifo_defs.h>
+
+#undef _nc_ESCDELAY
+int    _nc_ESCDELAY(void)
+               { return(*(int *)0); }
+
+#undef set_escdelay
+int    set_escdelay(
+               int     value)
+               { return(*(int *)0); }
+
+#undef _nc_wgetch
+int    _nc_wgetch(
+               WINDOW  *win, 
+               unsigned long *result, 
+               int     use_meta)
+               { return(*(int *)0); }
+
+#undef wgetch
+int    wgetch(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_getstr.c */
+
+#undef wgetnstr
+int    wgetnstr(
+               WINDOW  *win, 
+               char    *str, 
+               int     maxlen)
+               { return(*(int *)0); }
+
+/* ./base/lib_hline.c */
+
+#undef whline
+int    whline(
+               WINDOW  *win, 
+               chtype  ch, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_immedok.c */
+
+#undef immedok
+void   immedok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { /* void */ }
+
+/* ./base/lib_inchstr.c */
+
+#undef winchnstr
+int    winchnstr(
+               WINDOW  *win, 
+               chtype  *str, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_initscr.c */
+
+#undef initscr
+WINDOW *initscr(void)
+               { return(*(WINDOW **)0); }
+
+/* ./base/lib_insch.c */
+
+#undef _nc_insert_ch
+int    _nc_insert_ch(
+               WINDOW  *win, 
+               chtype  ch)
+               { return(*(int *)0); }
+
+#undef winsch
+int    winsch(
+               WINDOW  *win, 
+               chtype  c)
+               { return(*(int *)0); }
+
+/* ./base/lib_insdel.c */
+
+#undef winsdelln
+int    winsdelln(
+               WINDOW  *win, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_insnstr.c */
+
+#undef winsnstr
+int    winsnstr(
+               WINDOW  *win, 
+               const char *s, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_instr.c */
+
+#undef winnstr
+int    winnstr(
+               WINDOW  *win, 
+               char    *str, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_isendwin.c */
+
+#undef isendwin
+NCURSES_BOOL isendwin(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./base/lib_leaveok.c */
+
+#undef leaveok
+int    leaveok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/lib_mouse.c */
+
+#undef getmouse
+int    getmouse(
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
+#undef ungetmouse
+int    ungetmouse(
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
+#undef mousemask
+mmask_t        mousemask(
+               mmask_t newmask, 
+               mmask_t *oldmask)
+               { return(*(mmask_t *)0); }
+
+#undef wenclose
+NCURSES_BOOL wenclose(
+               const WINDOW *win, 
+               int     y, 
+               int     x)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef mouseinterval
+int    mouseinterval(
+               int     maxclick)
+               { return(*(int *)0); }
+
+#undef _nc_has_mouse
+int    _nc_has_mouse(void)
+               { return(*(int *)0); }
+
+#undef wmouse_trafo
+NCURSES_BOOL wmouse_trafo(
+               const WINDOW *win, 
+               int     *pY, 
+               int     *pX, 
+               NCURSES_BOOL to_screen)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./base/lib_move.c */
+
+#undef wmove
+int    wmove(
+               WINDOW  *win, 
+               int     y, 
+               int     x)
+               { return(*(int *)0); }
+
+/* ./tty/lib_mvcur.c */
+
+#undef _nc_msec_cost
+int    _nc_msec_cost(
+               const char *const cap, 
+               int     affcnt)
+               { return(*(int *)0); }
+
+#undef _nc_mvcur_resume
+void   _nc_mvcur_resume(void)
+               { /* void */ }
+
+#undef _nc_mvcur_init
+void   _nc_mvcur_init(void)
+               { /* void */ }
+
+#undef _nc_mvcur_wrap
+void   _nc_mvcur_wrap(void)
+               { /* void */ }
+
+#undef mvcur
+int    mvcur(
+               int     yold, 
+               int     xold, 
+               int     ynew, 
+               int     xnew)
+               { return(*(int *)0); }
+
+#undef _nc_optimize_enable
+int    _nc_optimize_enable;
+
+/* ./base/lib_mvwin.c */
+
+#undef mvwin
+int    mvwin(
+               WINDOW  *win, 
+               int     by, 
+               int     bx)
+               { return(*(int *)0); }
+
+/* ./base/lib_newterm.c */
+
+#undef filter
+void   filter(void)
+               { /* void */ }
+
+#undef nofilter
+void   nofilter(void)
+               { /* void */ }
+
+#undef newterm
+SCREEN *newterm(
+               const char *name, 
+               FILE    *ofp, 
+               FILE    *ifp)
+               { return(*(SCREEN **)0); }
+
+/* ./base/lib_newwin.c */
+
+#undef _nc_freewin
+int    _nc_freewin(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+#undef newwin
+WINDOW *newwin(
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef derwin
+WINDOW *derwin(
+               WINDOW  *orig, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef subwin
+WINDOW *subwin(
+               WINDOW  *w, 
+               int     l, 
+               int     c, 
+               int     y, 
+               int     x)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_makenew
+WINDOW *_nc_makenew(
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx, 
+               int     flags)
+               { return(*(WINDOW **)0); }
+
+/* ./base/lib_nl.c */
+
+#undef nl
+int    nl(void)
+               { return(*(int *)0); }
+
+#undef nonl
+int    nonl(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_overlay.c */
+
+#undef overlay
+int    overlay(
+               const WINDOW *win1, 
+               WINDOW  *win2)
+               { return(*(int *)0); }
+
+#undef overwrite
+int    overwrite(
+               const WINDOW *win1, 
+               WINDOW  *win2)
+               { return(*(int *)0); }
+
+#undef copywin
+int    copywin(
+               const WINDOW *src, 
+               WINDOW  *dst, 
+               int     sminrow, 
+               int     smincol, 
+               int     dminrow, 
+               int     dmincol, 
+               int     dmaxrow, 
+               int     dmaxcol, 
+               int     over)
+               { return(*(int *)0); }
+
+/* ./base/lib_pad.c */
+
+#undef newpad
+WINDOW *newpad(
+               int     l, 
+               int     c)
+               { return(*(WINDOW **)0); }
+
+#undef subpad
+WINDOW *subpad(
+               WINDOW  *orig, 
+               int     l, 
+               int     c, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef prefresh
+int    prefresh(
+               WINDOW  *win, 
+               int     pminrow, 
+               int     pmincol, 
+               int     sminrow, 
+               int     smincol, 
+               int     smaxrow, 
+               int     smaxcol)
+               { return(*(int *)0); }
+
+#undef pnoutrefresh
+int    pnoutrefresh(
+               WINDOW  *win, 
+               int     pminrow, 
+               int     pmincol, 
+               int     sminrow, 
+               int     smincol, 
+               int     smaxrow, 
+               int     smaxcol)
+               { return(*(int *)0); }
+
+#undef pechochar
+int    pechochar(
+               WINDOW  *pad, 
+               const chtype ch)
+               { return(*(int *)0); }
+
+/* ./base/lib_printw.c */
+
+#undef printw
+int    printw(
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef wprintw
+int    wprintw(
+               WINDOW  *win, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvprintw
+int    mvprintw(
+               int     y, 
+               int     x, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvwprintw
+int    mvwprintw(
+               WINDOW  *win, 
+               int     y, 
+               int     x, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef vwprintw
+int    vwprintw(
+               WINDOW  *win, 
+               const char *fmt, 
+               va_list argp)
+               { return(*(int *)0); }
+
+/* ./base/lib_redrawln.c */
+
+#undef wredrawln
+int    wredrawln(
+               WINDOW  *win, 
+               int     beg, 
+               int     num)
+               { return(*(int *)0); }
+
+/* ./base/lib_refresh.c */
+
+#undef wrefresh
+int    wrefresh(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+#undef wnoutrefresh
+int    wnoutrefresh(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_restart.c */
+
+#undef restartterm
+int    restartterm(
+               const char *termp, 
+               int     filenum, 
+               int     *errret)
+               { return(*(int *)0); }
+
+/* ./base/lib_scanw.c */
+
+#undef vwscanw
+int    vwscanw(
+               WINDOW  *win, 
+               const char *fmt, 
+               va_list argp)
+               { return(*(int *)0); }
+
+#undef scanw
+int    scanw(
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef wscanw
+int    wscanw(
+               WINDOW  *win, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvscanw
+int    mvscanw(
+               int     y, 
+               int     x, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvwscanw
+int    mvwscanw(
+               WINDOW  *win, 
+               int     y, 
+               int     x, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+/* ./base/lib_screen.c */
+
+#undef getwin
+WINDOW *getwin(
+               FILE    *filep)
+               { return(*(WINDOW **)0); }
+
+#undef putwin
+int    putwin(
+               WINDOW  *win, 
+               FILE    *filep)
+               { return(*(int *)0); }
+
+#undef scr_restore
+int    scr_restore(
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_dump
+int    scr_dump(
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_init
+int    scr_init(
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_set
+int    scr_set(
+               const char *file)
+               { return(*(int *)0); }
+
+/* ./base/lib_scroll.c */
+
+#undef _nc_scroll_window
+void   _nc_scroll_window(
+               WINDOW  *win, 
+               int const n, 
+               int const top, 
+               int const bottom, 
+               chtype  blank)
+               { /* void */ }
+
+#undef wscrl
+int    wscrl(
+               WINDOW  *win, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_scrollok.c */
+
+#undef scrollok
+int    scrollok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/lib_scrreg.c */
+
+#undef wsetscrreg
+int    wsetscrreg(
+               WINDOW  *win, 
+               int     top, 
+               int     bottom)
+               { return(*(int *)0); }
+
+/* ./base/lib_set_term.c */
+
+#undef set_term
+SCREEN *set_term(
+               SCREEN  *screenp)
+               { return(*(SCREEN **)0); }
+
+#undef delscreen
+void   delscreen(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_setupscreen
+int    _nc_setupscreen(
+               int     slines, 
+               int     scolumns, 
+               FILE    *output, 
+               NCURSES_BOOL filtered, 
+               int     slk_format)
+               { return(*(int *)0); }
+
+#undef _nc_ripoffline
+int    _nc_ripoffline(
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
+#undef ripoffline
+int    ripoffline(
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
+/* ./base/lib_slk.c */
+
+#undef _nc_slk_format
+int    _nc_slk_format;
+
+#undef _nc_slk_initialize
+int    _nc_slk_initialize(
+               WINDOW  *stwin, 
+               int     cols)
+               { return(*(int *)0); }
+
+#undef slk_restore
+int    slk_restore(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatr_set.c */
+
+#undef slk_attr_set
+int    slk_attr_set(
+               const attr_t attr, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatrof.c */
+
+#undef slk_attroff
+int    slk_attroff(
+               const chtype attr)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatron.c */
+
+#undef slk_attron
+int    slk_attron(
+               const chtype attr)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatrset.c */
+
+#undef slk_attrset
+int    slk_attrset(
+               const chtype attr)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkattr.c */
+
+#undef slk_attr
+attr_t slk_attr(void)
+               { return(*(attr_t *)0); }
+
+/* ./base/lib_slkclear.c */
+
+#undef slk_clear
+int    slk_clear(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkcolor.c */
+
+#undef slk_color
+int    slk_color(
+               short   color_pair_number)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkinit.c */
+
+#undef slk_init
+int    slk_init(
+               int     format)
+               { return(*(int *)0); }
+
+/* ./base/lib_slklab.c */
+
+#undef slk_label
+char   *slk_label(
+               int     n)
+               { return(*(char **)0); }
+
+/* ./base/lib_slkrefr.c */
+
+#undef slk_noutrefresh
+int    slk_noutrefresh(void)
+               { return(*(int *)0); }
+
+#undef slk_refresh
+int    slk_refresh(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkset.c */
+
+#undef slk_set
+int    slk_set(
+               int     i, 
+               const char *astr, 
+               int     format)
+               { return(*(int *)0); }
+
+/* ./base/lib_slktouch.c */
+
+#undef slk_touch
+int    slk_touch(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_touch.c */
+
+#undef is_linetouched
+NCURSES_BOOL is_linetouched(
+               WINDOW  *win, 
+               int     line)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_wintouched
+NCURSES_BOOL is_wintouched(
+               WINDOW  *win)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef wtouchln
+int    wtouchln(
+               WINDOW  *win, 
+               int     y, 
+               int     n, 
+               int     changed)
+               { return(*(int *)0); }
+
+/* ./trace/lib_tracedmp.c */
+
+#undef _tracedump
+void   _tracedump(
+               const char *name, 
+               WINDOW  *win)
+               { /* void */ }
+
+/* ./trace/lib_tracemse.c */
+
+#undef _tracemouse
+char   *_tracemouse(
+               MEVENT const *ep)
+               { return(*(char **)0); }
+
+/* ./tty/lib_tstp.c */
+
+#include <SigAction.h>
+
+#undef _nc_signal_handler
+void   _nc_signal_handler(
+               NCURSES_BOOL enable)
+               { /* void */ }
+
+/* ./base/lib_ungetch.c */
+
+#undef _nc_fifo_dump
+void   _nc_fifo_dump(void)
+               { /* void */ }
+
+#undef ungetch
+int    ungetch(
+               int     ch)
+               { return(*(int *)0); }
+
+/* ./tty/lib_vidattr.c */
+
+#undef vidputs
+int    vidputs(
+               chtype  newmode, 
+               int     (*outc)(
+               int     p1))
+               { return(*(int *)0); }
+
+#undef vidattr
+int    vidattr(
+               chtype  newmode)
+               { return(*(int *)0); }
+
+#undef termattrs
+chtype termattrs(void)
+               { return(*(chtype *)0); }
+
+/* ./base/lib_vline.c */
+
+#undef wvline
+int    wvline(
+               WINDOW  *win, 
+               chtype  ch, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_wattroff.c */
+
+#undef wattr_off
+int    wattr_off(
+               WINDOW  *win, 
+               attr_t  at, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_wattron.c */
+
+#undef wattr_on
+int    wattr_on(
+               WINDOW  *win, 
+               attr_t  at, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_winch.c */
+
+#undef winch
+chtype winch(
+               WINDOW  *win)
+               { return(*(chtype *)0); }
+
+/* ./base/lib_window.c */
+
+#undef _nc_synchook
+void   _nc_synchook(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef mvderwin
+int    mvderwin(
+               WINDOW  *win, 
+               int     y, 
+               int     x)
+               { return(*(int *)0); }
+
+#undef syncok
+int    syncok(
+               WINDOW  *win, 
+               NCURSES_BOOL bf)
+               { return(*(int *)0); }
+
+#undef wsyncup
+void   wsyncup(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef wsyncdown
+void   wsyncdown(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef wcursyncup
+void   wcursyncup(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef dupwin
+WINDOW *dupwin(
+               WINDOW  *win)
+               { return(*(WINDOW **)0); }
+
+/* ./base/nc_panel.c */
+
+#undef _nc_panelhook
+struct panelhook *_nc_panelhook(void)
+               { return(*(struct panelhook **)0); }
+
+/* ./base/safe_sprintf.c */
+
+#undef _nc_printf_string
+char   *_nc_printf_string(
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
+/* ./tty/tty_update.c */
+
+#include <sys/time.h>
+#include <sys/times.h>
+
+#undef doupdate
+int    doupdate(void)
+               { return(*(int *)0); }
+
+#undef _nc_scrolln
+int    _nc_scrolln(
+               int     n, 
+               int     top, 
+               int     bot, 
+               int     maxy)
+               { return(*(int *)0); }
+
+#undef _nc_screen_resume
+void   _nc_screen_resume(void)
+               { /* void */ }
+
+#undef _nc_screen_init
+void   _nc_screen_init(void)
+               { /* void */ }
+
+#undef _nc_screen_wrap
+void   _nc_screen_wrap(void)
+               { /* void */ }
+
+/* ./trace/varargs.c */
+
+typedef enum {
+    atUnknown = 0, atInteger, atFloat, atPoint, atString
+} ARGTYPE;
+
+#undef _nc_varargs
+char   *_nc_varargs(
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
+/* ./base/memmove.c */
+
+#undef _nc_memmove
+void   _nc_memmove(void)
+               { /* void */ }
+
+/* ./base/vsscanf.c */
+
+#undef _nc_vsscanf
+void   _nc_vsscanf(void)
+               { /* void */ }
+
+/* ./base/lib_freeall.c */
+
+#include <term_entry.h>
+
+#undef _nc_freeall
+void   _nc_freeall(void)
+               { /* void */ }
+
+#undef _nc_free_and_exit
+void   _nc_free_and_exit(
+               int     code)
+               { /* void */ }
+
+/* ./expanded.c */
+
+#undef _nc_expanded
+void   _nc_expanded(void)
+               { /* void */ }
+
+/* ./base/legacy_coding.c */
+
+#undef use_legacy_coding
+int    use_legacy_coding(
+               int     level)
+               { return(*(int *)0); }
+
+/* ./base/lib_dft_fgbg.c */
+
+#undef use_default_colors
+int    use_default_colors(void)
+               { return(*(int *)0); }
+
+#undef assume_default_colors
+int    assume_default_colors(
+               int     fg, 
+               int     bg)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_print.c */
+
+#undef mcprint
+int    mcprint(
+               char    *data, 
+               int     len)
+               { return(*(int *)0); }
+
+/* ./base/resizeterm.c */
+
+#undef is_term_resized
+NCURSES_BOOL is_term_resized(
+               int     ToLines, 
+               int     ToCols)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef resize_term
+int    resize_term(
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+#undef resizeterm
+int    resizeterm(
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+/* ./trace/trace_xnames.c */
+
+#undef _nc_trace_xnames
+void   _nc_trace_xnames(
+               TERMTYPE *tp)
+               { /* void */ }
+
+/* ./tinfo/use_screen.c */
+
+#undef use_screen
+int    use_screen(
+               SCREEN  *screen, 
+               NCURSES_CALLBACK func, 
+               void    *data)
+               { return(*(int *)0); }
+
+/* ./base/use_window.c */
+
+#undef _nc_lock_window
+void   _nc_lock_window(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef _nc_unlock_window
+void   _nc_unlock_window(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef use_window
+int    use_window(
+               WINDOW  *win, 
+               NCURSES_CALLBACK func, 
+               void    *data)
+               { return(*(int *)0); }
+
+/* ./base/wresize.c */
+
+#undef wresize
+int    wresize(
+               WINDOW  *win, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+/* ./tinfo/access.c */
+
+#include <sys/stat.h>
+#include <nc_alloc.h>
+
+#undef _nc_rootname
+char   *_nc_rootname(
+               char    *path)
+               { return(*(char **)0); }
+
+#undef _nc_is_abs_path
+NCURSES_BOOL _nc_is_abs_path(
+               const char *path)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_pathlast
+unsigned _nc_pathlast(
+               const char *path)
+               { return(*(unsigned *)0); }
+
+#undef _nc_basename
+char   *_nc_basename(
+               char    *path)
+               { return(*(char **)0); }
+
+#undef _nc_access
+int    _nc_access(
+               const char *path, 
+               int     mode)
+               { return(*(int *)0); }
+
+#undef _nc_is_dir_path
+NCURSES_BOOL _nc_is_dir_path(
+               const char *path)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_is_file_path
+NCURSES_BOOL _nc_is_file_path(
+               const char *path)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./tinfo/add_tries.c */
+
+#undef _nc_add_to_try
+int    _nc_add_to_try(
+               TRIES   **tree, 
+               const char *str, 
+               unsigned code)
+               { return(*(int *)0); }
+
+/* ./tinfo/alloc_ttype.c */
+
+#undef _nc_align_termtype
+void   _nc_align_termtype(
+               TERMTYPE *to, 
+               TERMTYPE *from)
+               { /* void */ }
+
+#undef _nc_copy_termtype
+void   _nc_copy_termtype(
+               TERMTYPE *dst, 
+               TERMTYPE *src)
+               { /* void */ }
+
+/* ./codes.c */
+
+#undef _nc_boolcodes
+const char *const *_nc_boolcodes(void)
+               { return(*(const char **)0); }
+
+#undef _nc_numcodes
+const char *const *_nc_numcodes(void)
+               { return(*(const char **)0); }
+
+#undef _nc_strcodes
+const char *const *_nc_strcodes(void)
+               { return(*(const char **)0); }
+
+#undef _nc_codes_leaks
+void   _nc_codes_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/comp_error.c */
+
+#undef _nc_suppress_warnings
+NCURSES_BOOL _nc_suppress_warnings;
+#undef _nc_curr_line
+int    _nc_curr_line;
+#undef _nc_curr_col
+int    _nc_curr_col;
+
+#undef _nc_get_source
+const char *_nc_get_source(void)
+               { return(*(const char **)0); }
+
+#undef _nc_set_source
+void   _nc_set_source(
+               const char *const name)
+               { /* void */ }
+
+#undef _nc_set_type
+void   _nc_set_type(
+               const char *const name)
+               { /* void */ }
+
+#undef _nc_get_type
+void   _nc_get_type(
+               char    *name)
+               { /* void */ }
+
+#undef _nc_warning
+void   _nc_warning(
+               const char *const fmt, 
+               ...)
+               { /* void */ }
+
+#undef _nc_err_abort
+void   _nc_err_abort(
+               const char *const fmt, 
+               ...)
+               { /* void */ }
+
+#undef _nc_syserr_abort
+void   _nc_syserr_abort(
+               const char *const fmt, 
+               ...)
+               { /* void */ }
+
+/* ./tinfo/db_iterator.c */
+
+#undef _nc_tic_dir
+const char *_nc_tic_dir(
+               const char *path)
+               { return(*(const char **)0); }
+
+#undef _nc_keep_tic_dir
+void   _nc_keep_tic_dir(
+               const char *path)
+               { /* void */ }
+
+#undef _nc_last_db
+void   _nc_last_db(void)
+               { /* void */ }
+
+#undef _nc_next_db
+const char *_nc_next_db(
+               DBDIRS  *state, 
+               int     *offset)
+               { return(*(const char **)0); }
+
+#undef _nc_first_db
+void   _nc_first_db(
+               DBDIRS  *state, 
+               int     *offset)
+               { /* void */ }
+
+/* ./tinfo/doalloc.c */
+
+#undef _nc_doalloc
+void   *_nc_doalloc(
+               void    *oldp, 
+               size_t  amount)
+               { return(*(void **)0); }
+
+/* ./tinfo/entries.c */
+
+#undef _nc_head
+ENTRY  *_nc_head;
+#undef _nc_tail
+ENTRY  *_nc_tail;
+
+#undef _nc_free_entry
+void   _nc_free_entry(
+               ENTRY   *headp, 
+               TERMTYPE *tterm)
+               { /* void */ }
+
+#undef _nc_free_entries
+void   _nc_free_entries(
+               ENTRY   *headp)
+               { /* void */ }
+
+#undef _nc_delink_entry
+ENTRY  *_nc_delink_entry(
+               ENTRY   *headp, 
+               TERMTYPE *tterm)
+               { return(*(ENTRY **)0); }
+
+#undef _nc_leaks_tinfo
+void   _nc_leaks_tinfo(void)
+               { /* void */ }
+
+#undef _nc_free_tinfo
+void   _nc_free_tinfo(
+               int     code)
+               { /* void */ }
+
+/* ./fallback.c */
+
+#undef _nc_fallback
+const TERMTYPE *_nc_fallback(
+               const char *name)
+               { return(*(const TERMTYPE **)0); }
+
+/* ./tinfo/free_ttype.c */
+
+#undef _nc_free_termtype
+void   _nc_free_termtype(
+               TERMTYPE *ptr)
+               { /* void */ }
+
+#undef _nc_user_definable
+NCURSES_BOOL _nc_user_definable;
+
+#undef use_extended_names
+int    use_extended_names(
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./tinfo/getenv_num.c */
+
+#undef _nc_getenv_num
+int    _nc_getenv_num(
+               const char *name)
+               { return(*(int *)0); }
+
+/* ./tinfo/home_terminfo.c */
+
+#undef _nc_home_terminfo
+char   *_nc_home_terminfo(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/init_keytry.c */
+
+#if 0
+
+#include <init_keytry.h>
+
+#undef _nc_tinfo_fkeys
+const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
+
+#endif
+
+#undef _nc_init_keytry
+void   _nc_init_keytry(void)
+               { /* void */ }
+
+/* ./tinfo/lib_acs.c */
+
+#undef _nc_acs_map
+chtype *_nc_acs_map(void)
+               { return(*(chtype **)0); }
+
+#undef _nc_init_acs
+void   _nc_init_acs(void)
+               { /* void */ }
+
+/* ./tinfo/lib_baudrate.c */
+
+#include <termcap.h>
+
+struct speed {
+    int s; 
+    int sp; 
+};
+
+#undef _nc_baudrate
+int    _nc_baudrate(
+               int     OSpeed)
+               { return(*(int *)0); }
+
+#undef _nc_ospeed
+int    _nc_ospeed(
+               int     BaudRate)
+               { return(*(int *)0); }
+
+#undef baudrate
+int    baudrate(void)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_cur_term.c */
+
+#undef cur_term
+TERMINAL *cur_term;
+
+#undef set_curterm
+TERMINAL *set_curterm(
+               TERMINAL *termp)
+               { return(*(TERMINAL **)0); }
+
+#undef del_curterm
+int    del_curterm(
+               TERMINAL *termp)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_data.c */
+
+#undef _nc_stdscr
+WINDOW *_nc_stdscr(void)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_curscr
+WINDOW *_nc_curscr(void)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_newscr
+WINDOW *_nc_newscr(void)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_screen_chain
+SCREEN *_nc_screen_chain;
+#undef SP
+SCREEN *SP;
+#undef _nc_globals
+NCURSES_GLOBALS _nc_globals;
+#undef _nc_prescreen
+NCURSES_PRESCREEN _nc_prescreen;
+
+#undef _nc_mutex_lock
+int    _nc_mutex_lock(
+               pthread_mutex_t *obj)
+               { return(*(int *)0); }
+
+#undef _nc_mutex_trylock
+int    _nc_mutex_trylock(
+               pthread_mutex_t *obj)
+               { return(*(int *)0); }
+
+#undef _nc_mutex_unlock
+int    _nc_mutex_unlock(
+               pthread_mutex_t *obj)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_has_cap.c */
+
+#undef has_ic
+NCURSES_BOOL has_ic(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_il
+NCURSES_BOOL has_il(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./tinfo/lib_kernel.c */
+
+#undef erasechar
+char   erasechar(void)
+               { return(*(char *)0); }
+
+#undef killchar
+char   killchar(void)
+               { return(*(char *)0); }
+
+#undef flushinp
+int    flushinp(void)
+               { return(*(int *)0); }
+
+/* ./lib_keyname.c */
+
+struct kn { short offset; int code; };
+
+#undef keyname
+const char *keyname(
+               int     c)
+               { return(*(const char **)0); }
+
+#undef _nc_keyname_leaks
+void   _nc_keyname_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/lib_longname.c */
+
+#undef longname
+char   *longname(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_napms.c */
+
+#include <time.h>
+
+#undef napms
+int    napms(
+               int     ms)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_options.c */
+
+#undef idlok
+int    idlok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef idcok
+void   idcok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { /* void */ }
+
+#undef halfdelay
+int    halfdelay(
+               int     t)
+               { return(*(int *)0); }
+
+#undef nodelay
+int    nodelay(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef notimeout
+int    notimeout(
+               WINDOW  *win, 
+               NCURSES_BOOL f)
+               { return(*(int *)0); }
+
+#undef wtimeout
+void   wtimeout(
+               WINDOW  *win, 
+               int     delay)
+               { /* void */ }
+
+#undef keypad
+int    keypad(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef meta
+int    meta(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef curs_set
+int    curs_set(
+               int     vis)
+               { return(*(int *)0); }
+
+#undef typeahead
+int    typeahead(
+               int     fd)
+               { return(*(int *)0); }
+
+#undef has_key
+int    has_key(
+               int     keycode)
+               { return(*(int *)0); }
+
+#undef _nc_keypad
+int    _nc_keypad(
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_raw.c */
+
+#undef raw
+int    raw(void)
+               { return(*(int *)0); }
+
+#undef cbreak
+int    cbreak(void)
+               { return(*(int *)0); }
+
+#undef qiflush
+void   qiflush(void)
+               { /* void */ }
+
+#undef noraw
+int    noraw(void)
+               { return(*(int *)0); }
+
+#undef nocbreak
+int    nocbreak(void)
+               { return(*(int *)0); }
+
+#undef noqiflush
+void   noqiflush(void)
+               { /* void */ }
+
+#undef intrflush
+int    intrflush(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_setup.c */
+
+#include <locale.h>
+#include <sys/ioctl.h>
+#include <langinfo.h>
+
+#undef _nc_ttytype
+char   *_nc_ttytype(void)
+               { return(*(char **)0); }
+
+#undef _nc_LINES
+int    _nc_LINES(void)
+               { return(*(int *)0); }
+
+#undef _nc_COLS
+int    _nc_COLS(void)
+               { return(*(int *)0); }
+
+#undef _nc_TABSIZE
+int    _nc_TABSIZE(void)
+               { return(*(int *)0); }
+
+#undef set_tabsize
+int    set_tabsize(
+               int     value)
+               { return(*(int *)0); }
+
+#undef _nc_handle_sigwinch
+int    _nc_handle_sigwinch(
+               int     update)
+               { return(*(int *)0); }
+
+#undef use_env
+void   use_env(
+               NCURSES_BOOL f)
+               { /* void */ }
+
+#undef _nc_get_screensize
+void   _nc_get_screensize(
+               int     *linep, 
+               int     *colp)
+               { /* void */ }
+
+#undef _nc_update_screensize
+void   _nc_update_screensize(void)
+               { /* void */ }
+
+#undef _nc_get_locale
+char   *_nc_get_locale(void)
+               { return(*(char **)0); }
+
+#undef _nc_unicode_locale
+int    _nc_unicode_locale(void)
+               { return(*(int *)0); }
+
+#undef _nc_locale_breaks_acs
+int    _nc_locale_breaks_acs(void)
+               { return(*(int *)0); }
+
+#undef _nc_setupterm
+int    _nc_setupterm(
+               const char *tname, 
+               int     Filedes, 
+               int     *errret, 
+               NCURSES_BOOL reuse)
+               { return(*(int *)0); }
+
+#undef setupterm
+int    setupterm(
+               const char *tname, 
+               int     Filedes, 
+               int     *errret)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_termcap.c */
+
+#undef UP
+char   *UP;
+#undef BC
+char   *BC;
+
+#undef tgetent
+int    tgetent(
+               char    *bufp, 
+               const char *name)
+               { return(*(int *)0); }
+
+#if 0
+
+#include <capdefaults.c>
+
+#endif
+
+#undef tgetflag
+int    tgetflag(
+               const char *id)
+               { return(*(int *)0); }
+
+#undef tgetnum
+int    tgetnum(
+               const char *id)
+               { return(*(int *)0); }
+
+#undef tgetstr
+char   *tgetstr(
+               const char *id, 
+               char    **area)
+               { return(*(char **)0); }
+
+#undef _nc_tgetent_leaks
+void   _nc_tgetent_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/lib_termname.c */
+
+#undef termname
+char   *termname(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tgoto.c */
+
+#undef tgoto
+char   *tgoto(
+               const char *string, 
+               int     x, 
+               int     y)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_ti.c */
+
+#undef tigetflag
+int    tigetflag(
+               const char *str)
+               { return(*(int *)0); }
+
+#undef tigetnum
+int    tigetnum(
+               const char *str)
+               { return(*(int *)0); }
+
+#undef tigetstr
+char   *tigetstr(
+               const char *str)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tparm.c */
+
+#undef _nc_tparm_err
+int    _nc_tparm_err;
+
+#undef _nc_free_tparm
+void   _nc_free_tparm(void)
+               { /* void */ }
+
+#undef _nc_tparm_analyze
+int    _nc_tparm_analyze(
+               const char *string, 
+               char    *p_is_s[9], 
+               int     *popcount)
+               { return(*(int *)0); }
+
+#undef tparm
+char   *tparm(
+               const char *string, 
+               ...)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tputs.c */
+
+#undef PC
+char   PC;
+#undef ospeed
+NCURSES_OSPEED ospeed;
+#undef _nc_nulls_sent
+int    _nc_nulls_sent;
+
+#undef delay_output
+int    delay_output(
+               int     ms)
+               { return(*(int *)0); }
+
+#undef _nc_flush
+void   _nc_flush(void)
+               { /* void */ }
+
+#undef _nc_outch
+int    _nc_outch(
+               int     ch)
+               { return(*(int *)0); }
+
+#undef putp
+int    putp(
+               const char *string)
+               { return(*(int *)0); }
+
+#undef tputs
+int    tputs(
+               const char *string, 
+               int     affcnt, 
+               int     (*outc)(
+               int     p1))
+               { return(*(int *)0); }
+
+/* ./trace/lib_trace.c */
+
+#undef _nc_tracing
+unsigned _nc_tracing;
+
+#undef _nc__nc_tputs_trace
+const char *_nc__nc_tputs_trace(void)
+               { return(*(const char **)0); }
+
+#undef _nc__nc_outchars
+long   _nc__nc_outchars(void)
+               { return(*(long *)0); }
+
+#undef _nc_set_tputs_trace
+void   _nc_set_tputs_trace(
+               const char *s)
+               { /* void */ }
+
+#undef _nc_count_outchars
+void   _nc_count_outchars(
+               long    increment)
+               { /* void */ }
+
+#undef trace
+void   trace(
+               const unsigned int tracelevel)
+               { /* void */ }
+
+#undef _tracef
+void   _tracef(
+               const char *fmt, 
+               ...)
+               { /* void */ }
+
+#undef _nc_retrace_bool
+NCURSES_BOOL _nc_retrace_bool(
+               NCURSES_BOOL code)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_retrace_int
+int    _nc_retrace_int(
+               int     code)
+               { return(*(int *)0); }
+
+#undef _nc_retrace_unsigned
+unsigned _nc_retrace_unsigned(
+               unsigned code)
+               { return(*(unsigned *)0); }
+
+#undef _nc_retrace_ptr
+char   *_nc_retrace_ptr(
+               char    *code)
+               { return(*(char **)0); }
+
+#undef _nc_retrace_cptr
+const char *_nc_retrace_cptr(
+               const char *code)
+               { return(*(const char **)0); }
+
+#undef _nc_retrace_cvoid_ptr
+const void *_nc_retrace_cvoid_ptr(
+               const void *code)
+               { return(*(const void **)0); }
+
+#undef _nc_retrace_void_ptr
+void   *_nc_retrace_void_ptr(
+               void    *code)
+               { return(*(void **)0); }
+
+#undef _nc_retrace_sp
+SCREEN *_nc_retrace_sp(
+               SCREEN  *code)
+               { return(*(SCREEN **)0); }
+
+#undef _nc_retrace_win
+WINDOW *_nc_retrace_win(
+               WINDOW  *code)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_use_tracef
+int    _nc_use_tracef(
+               unsigned mask)
+               { return(*(int *)0); }
+
+#undef _nc_locked_tracef
+void   _nc_locked_tracef(
+               const char *fmt, 
+               ...)
+               { /* void */ }
+
+/* ./trace/lib_traceatr.c */
+
+#undef _traceattr2
+char   *_traceattr2(
+               int     bufnum, 
+               chtype  newmode)
+               { return(*(char **)0); }
+
+#undef _traceattr
+char   *_traceattr(
+               attr_t  newmode)
+               { return(*(char **)0); }
+
+#undef _nc_retrace_attr_t
+attr_t _nc_retrace_attr_t(
+               attr_t  code)
+               { return(*(attr_t *)0); }
+
+#undef _nc_altcharset_name
+const char *_nc_altcharset_name(
+               attr_t  attr, 
+               chtype  ch)
+               { return(*(const char **)0); }
+
+#undef _tracechtype2
+char   *_tracechtype2(
+               int     bufnum, 
+               chtype  ch)
+               { return(*(char **)0); }
+
+#undef _tracechtype
+char   *_tracechtype(
+               chtype  ch)
+               { return(*(char **)0); }
+
+#undef _nc_retrace_chtype
+chtype _nc_retrace_chtype(
+               chtype  code)
+               { return(*(chtype *)0); }
+
+/* ./trace/lib_tracebits.c */
+
+typedef struct {
+    unsigned int val;
+    const char *name;
+} BITNAMES;
+
+#undef _nc_trace_ttymode
+char   *_nc_trace_ttymode(
+               struct termios *tty)
+               { return(*(char **)0); }
+
+#undef _nc_tracebits
+char   *_nc_tracebits(void)
+               { return(*(char **)0); }
+
+/* ./trace/lib_tracechr.c */
+
+#undef _tracechar
+char   *_tracechar(
+               int     ch)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_ttyflags.c */
+
+#undef _nc_get_tty_mode
+int    _nc_get_tty_mode(
+               struct termios *buf)
+               { return(*(int *)0); }
+
+#undef _nc_set_tty_mode
+int    _nc_set_tty_mode(
+               struct termios *buf)
+               { return(*(int *)0); }
+
+#undef def_shell_mode
+int    def_shell_mode(void)
+               { return(*(int *)0); }
+
+#undef def_prog_mode
+int    def_prog_mode(void)
+               { return(*(int *)0); }
+
+#undef reset_prog_mode
+int    reset_prog_mode(void)
+               { return(*(int *)0); }
+
+#undef reset_shell_mode
+int    reset_shell_mode(void)
+               { return(*(int *)0); }
+
+#undef savetty
+int    savetty(void)
+               { return(*(int *)0); }
+
+#undef resetty
+int    resetty(void)
+               { return(*(int *)0); }
+
+/* ./tty/lib_twait.c */
+
+#undef _nc_timed_wait
+int    _nc_timed_wait(
+               int     mode, 
+               int     milliseconds, 
+               int     *timeleft)
+               { return(*(int *)0); }
+
+/* ./tinfo/name_match.c */
+
+#undef _nc_first_name
+char   *_nc_first_name(
+               const char *const sp)
+               { return(*(char **)0); }
+
+#undef _nc_name_match
+int    _nc_name_match(
+               const char *const namelst, 
+               const char *const name, 
+               const char *const delim)
+               { return(*(int *)0); }
+
+/* ./names.c */
+
+#undef _nc_boolnames
+const char *const *_nc_boolnames(void)
+               { return(*(const char **)0); }
+
+#undef _nc_boolfnames
+const char *const *_nc_boolfnames(void)
+               { return(*(const char **)0); }
+
+#undef _nc_numnames
+const char *const *_nc_numnames(void)
+               { return(*(const char **)0); }
+
+#undef _nc_numfnames
+const char *const *_nc_numfnames(void)
+               { return(*(const char **)0); }
+
+#undef _nc_strnames
+const char *const *_nc_strnames(void)
+               { return(*(const char **)0); }
+
+#undef _nc_strfnames
+const char *const *_nc_strfnames(void)
+               { return(*(const char **)0); }
+
+#undef _nc_names_leaks
+void   _nc_names_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/read_entry.c */
+
+#include <hashed_db.h>
+
+#undef _nc_read_termtype
+int    _nc_read_termtype(
+               TERMTYPE *ptr, 
+               char    *buffer, 
+               int     limit)
+               { return(*(int *)0); }
+
+#undef _nc_read_file_entry
+int    _nc_read_file_entry(
+               const char *const filename, 
+               TERMTYPE *ptr)
+               { return(*(int *)0); }
+
+#undef _nc_read_entry
+int    _nc_read_entry(
+               const char *const name, 
+               char    *const filename, 
+               TERMTYPE *const tp)
+               { return(*(int *)0); }
+
+/* ./tinfo/read_termcap.c */
+
+#include <sys/types.h>
+
+#undef _nc_read_termcap
+void   _nc_read_termcap(void)
+               { /* void */ }
+
+/* ./tinfo/setbuf.c */
+
+#undef _nc_set_buffer
+void   _nc_set_buffer(
+               FILE    *ofp, 
+               NCURSES_BOOL buffered)
+               { /* void */ }
+
+/* ./tinfo/strings.c */
+
+#undef _nc_str_init
+string_desc *_nc_str_init(
+               string_desc *dst, 
+               char    *src, 
+               size_t  len)
+               { return(*(string_desc **)0); }
+
+#undef _nc_str_null
+string_desc *_nc_str_null(
+               string_desc *dst, 
+               size_t  len)
+               { return(*(string_desc **)0); }
+
+#undef _nc_str_copy
+string_desc *_nc_str_copy(
+               string_desc *dst, 
+               string_desc *src)
+               { return(*(string_desc **)0); }
+
+#undef _nc_safe_strcat
+NCURSES_BOOL _nc_safe_strcat(
+               string_desc *dst, 
+               const char *src)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_safe_strcpy
+NCURSES_BOOL _nc_safe_strcpy(
+               string_desc *dst, 
+               const char *src)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./trace/trace_buf.c */
+
+#undef _nc_trace_buf
+char   *_nc_trace_buf(
+               int     bufnum, 
+               size_t  want)
+               { return(*(char **)0); }
+
+#undef _nc_trace_bufcat
+char   *_nc_trace_bufcat(
+               int     bufnum, 
+               const char *value)
+               { return(*(char **)0); }
+
+/* ./trace/trace_tries.c */
+
+#undef _nc_trace_tries
+void   _nc_trace_tries(
+               TRIES   *tree)
+               { /* void */ }
+
+/* ./base/tries.c */
+
+#undef _nc_expand_try
+char   *_nc_expand_try(
+               TRIES   *tree, 
+               unsigned code, 
+               int     *count, 
+               size_t  len)
+               { return(*(char **)0); }
+
+#undef _nc_remove_key
+int    _nc_remove_key(
+               TRIES   **tree, 
+               unsigned code)
+               { return(*(int *)0); }
+
+#undef _nc_remove_string
+int    _nc_remove_string(
+               TRIES   **tree, 
+               const char *string)
+               { return(*(int *)0); }
+
+/* ./tinfo/trim_sgr0.c */
+
+#undef _nc_trim_sgr0
+char   *_nc_trim_sgr0(
+               TERMTYPE *tp)
+               { return(*(char **)0); }
+
+/* ./unctrl.c */
+
+#undef unctrl
+const char *unctrl(
+                chtype ch)
+               { return(*(const char **)0); }
+
+/* ./trace/visbuf.c */
+
+#undef _nc_visbuf2
+const char *_nc_visbuf2(
+               int     bufnum, 
+               const char *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_visbuf
+const char *_nc_visbuf(
+               const char *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_visbufn
+const char *_nc_visbufn(
+               const char *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+#undef _nc_viscbuf2
+const char *_nc_viscbuf2(
+               int     bufnum, 
+               const chtype *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+#undef _nc_viscbuf
+const char *_nc_viscbuf(
+               const chtype *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+/* ./tinfo/alloc_entry.c */
+
+#undef _nc_init_entry
+void   _nc_init_entry(
+               TERMTYPE *const tp)
+               { /* void */ }
+
+#undef _nc_copy_entry
+ENTRY  *_nc_copy_entry(
+               ENTRY   *oldp)
+               { return(*(ENTRY **)0); }
+
+#undef _nc_save_str
+char   *_nc_save_str(
+               const char *const string)
+               { return(*(char **)0); }
+
+#undef _nc_wrap_entry
+void   _nc_wrap_entry(
+               ENTRY   *const ep, 
+               NCURSES_BOOL copy_strings)
+               { /* void */ }
+
+#undef _nc_merge_entry
+void   _nc_merge_entry(
+               TERMTYPE *const to, 
+               TERMTYPE *const from)
+               { /* void */ }
+
+#undef _nc_alloc_entry_leaks
+void   _nc_alloc_entry_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/captoinfo.c */
+
+#undef _nc_captoinfo
+char   *_nc_captoinfo(
+               const char *cap, 
+               const char *s, 
+               int const parameterized)
+               { return(*(char **)0); }
+
+#undef _nc_infotocap
+char   *_nc_infotocap(
+               const char *cap, 
+               const char *str, 
+               int const parameterized)
+               { return(*(char **)0); }
+
+#undef _nc_captoinfo_leaks
+void   _nc_captoinfo_leaks(void)
+               { /* void */ }
+
+/* ./comp_captab.c */
+
+#include <hashsize.h>
+
+#undef _nc_get_table
+const struct name_table_entry *_nc_get_table(
+               NCURSES_BOOL termcap)
+               { return(*(const struct name_table_entry **)0); }
+
+#undef _nc_get_hash_table
+const short *_nc_get_hash_table(
+               NCURSES_BOOL termcap)
+               { return(*(const short **)0); }
+
+#undef _nc_get_alias_table
+const struct alias *_nc_get_alias_table(
+               NCURSES_BOOL termcap)
+               { return(*(const struct alias **)0); }
+
+#undef _nc_comp_captab_leaks
+void   _nc_comp_captab_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/comp_expand.c */
+
+#undef _nc_tic_expand
+char   *_nc_tic_expand(
+               const char *srcp, 
+               NCURSES_BOOL tic_format, 
+               int     numbers)
+               { return(*(char **)0); }
+
+/* ./tinfo/comp_hash.c */
+
+#undef _nc_find_entry
+struct name_table_entry const *_nc_find_entry(
+               const char *string, 
+               const short *hash_table)
+               { return(*(struct name_table_entry const **)0); }
+
+#undef _nc_find_type_entry
+struct name_table_entry const *_nc_find_type_entry(
+               const char *string, 
+               int     type, 
+               const struct name_table_entry *table)
+               { return(*(struct name_table_entry const **)0); }
+
+/* ./tinfo/comp_parse.c */
+
+#undef _nc_check_termtype2
+void   (*_nc_check_termtype2)(
+               TERMTYPE *p1, 
+               NCURSES_BOOL p2);
+#undef _nc_check_termtype
+void   (*_nc_check_termtype)(
+               TERMTYPE *p1);
+
+#undef _nc_entry_match
+NCURSES_BOOL _nc_entry_match(
+               char    *n1, 
+               char    *n2)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_read_entry_source
+void   _nc_read_entry_source(
+               FILE    *fp, 
+               char    *buf, 
+               int     literal, 
+               NCURSES_BOOL silent, 
+               NCURSES_BOOL (*hook)(
+               ENTRY   *p1))
+               { /* void */ }
+
+#undef _nc_resolve_uses2
+int    _nc_resolve_uses2(
+               NCURSES_BOOL fullresolve, 
+               NCURSES_BOOL literal)
+               { return(*(int *)0); }
+
+#undef _nc_resolve_uses
+int    _nc_resolve_uses(
+               NCURSES_BOOL fullresolve)
+               { return(*(int *)0); }
+
+#undef _nc_leaks_tic
+void   _nc_leaks_tic(void)
+               { /* void */ }
+
+#undef _nc_free_tic
+void   _nc_free_tic(
+               int     code)
+               { /* void */ }
+
+/* ./tinfo/comp_scan.c */
+
+#undef _nc_syntax
+int    _nc_syntax;
+#undef _nc_curr_file_pos
+long   _nc_curr_file_pos;
+#undef _nc_comment_start
+long   _nc_comment_start;
+#undef _nc_comment_end
+long   _nc_comment_end;
+#undef _nc_start_line
+long   _nc_start_line;
+#undef _nc_curr_token
+struct token _nc_curr_token;
+#undef _nc_disable_period
+NCURSES_BOOL _nc_disable_period;
+
+#undef _nc_reset_input
+void   _nc_reset_input(
+               FILE    *fp, 
+               char    *buf)
+               { /* void */ }
+
+#undef _nc_get_token
+int    _nc_get_token(
+               NCURSES_BOOL silent)
+               { return(*(int *)0); }
+
+#undef _nc_trans_string
+int    _nc_trans_string(
+               char    *ptr, 
+               char    *last)
+               { return(*(int *)0); }
+
+#undef _nc_push_token
+void   _nc_push_token(
+               int     tokclass)
+               { /* void */ }
+
+#undef _nc_panic_mode
+void   _nc_panic_mode(
+               char    ch)
+               { /* void */ }
+
+#undef _nc_comp_scan_leaks
+void   _nc_comp_scan_leaks(void)
+               { /* void */ }
+
+/* ./tinfo/parse_entry.c */
+
+#undef _nc_parse_entry
+int    _nc_parse_entry(
+               struct entry *entryp, 
+               int     literal, 
+               NCURSES_BOOL silent)
+               { return(*(int *)0); }
+
+#undef _nc_capcmp
+int    _nc_capcmp(
+               const char *s, 
+               const char *t)
+               { return(*(int *)0); }
+
+typedef struct {
+    const char *from;
+    const char *to;
+} assoc;
+
+/* ./tinfo/write_entry.c */
+
+#undef _nc_set_writedir
+void   _nc_set_writedir(
+               char    *dir)
+               { /* void */ }
+
+#undef _nc_write_entry
+void   _nc_write_entry(
+               TERMTYPE *const tp)
+               { /* void */ }
+
+#undef _nc_tic_written
+int    _nc_tic_written(void)
+               { return(*(int *)0); }
+
+/* ./base/define_key.c */
+
+#undef define_key
+int    define_key(
+               const char *str, 
+               int     keycode)
+               { return(*(int *)0); }
+
+/* ./tinfo/hashed_db.c */
+
+#undef _nc_hashed_db
+void   _nc_hashed_db(void)
+               { /* void */ }
+
+/* ./base/key_defined.c */
+
+#undef key_defined
+int    key_defined(
+               const char *str)
+               { return(*(int *)0); }
+
+/* ./base/keybound.c */
+
+#undef keybound
+char   *keybound(
+               int     code, 
+               int     count)
+               { return(*(char **)0); }
+
+/* ./base/keyok.c */
+
+#undef keyok
+int    keyok(
+               int     c, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/version.c */
+
+#undef curses_version
+const char *curses_version(void)
+               { return(*(const char **)0); }
index 1a061e083f28a35a70e444da44d627f38c1ad433..a376fc60275b8627fd97c7f94e6c7fe47dc0adde 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -53,7 +53,7 @@
 
 #include <term.h>              /* lines, columns, cur_term */
 
 
 #include <term.h>              /* lines, columns, cur_term */
 
-MODULE_ID("$Id: lib_setup.c,v 1.100 2007/09/01 20:58:26 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.102 2008/01/19 21:07:45 tom Exp $")
 
 /****************************************************************************
  *
 
 /****************************************************************************
  *
@@ -99,6 +99,9 @@ MODULE_ID("$Id: lib_setup.c,v 1.100 2007/09/01 20:58:26 tom Exp $")
 # endif
 #endif
 
 # endif
 #endif
 
+/*
+ * Wrap global variables in this module.
+ */
 #if USE_REENTRANT
 NCURSES_EXPORT(char *)
 NCURSES_PUBLIC_VAR(ttytype) (void)
 #if USE_REENTRANT
 NCURSES_EXPORT(char *)
 NCURSES_PUBLIC_VAR(ttytype) (void)
@@ -128,6 +131,24 @@ NCURSES_EXPORT_VAR(int) COLS = 0;
 NCURSES_EXPORT_VAR(int) TABSIZE = 0;
 #endif
 
 NCURSES_EXPORT_VAR(int) TABSIZE = 0;
 #endif
 
+#if NCURSES_EXT_FUNCS
+NCURSES_EXPORT(int)
+set_tabsize(int value)
+{
+    int code = OK;
+#if USE_REENTRANT
+    if (SP) {
+       SP->_TABSIZE = value;
+    } else {
+       code = ERR;
+    }
+#else
+    TABSIZE = value;
+#endif
+    return code;
+}
+#endif
+
 #if USE_SIGWINCH
 /*
  * If we have a pending SIGWINCH, set the flag in each screen.
 #if USE_SIGWINCH
 /*
  * If we have a pending SIGWINCH, set the flag in each screen.
index 99db6bbb057f41e1d92a7fa2a3dbd70b115b8a05..8680df35d34f5990063ec05dd7e13d45d4b09b9a 100644 (file)
@@ -42,7 +42,7 @@
 
 #include <dump_entry.h>
 
 
 #include <dump_entry.h>
 
-MODULE_ID("$Id: infocmp.c,v 1.95 2008/01/05 20:53:20 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.96 2008/01/19 21:08:07 tom Exp $")
 
 #define L_CURL "{"
 #define R_CURL "}"
 
 #define L_CURL "{"
 #define R_CURL "}"
@@ -1215,6 +1215,8 @@ dump_termtype(TERMTYPE *term)
                  NUM_STRINGS(term) - STRCOUNT);
 
     (void) printf("#endif /* NCURSES_XNAMES */\n");
                  NUM_STRINGS(term) - STRCOUNT);
 
     (void) printf("#endif /* NCURSES_XNAMES */\n");
+#else
+    (void) term;
 #endif /* NCURSES_XNAMES */
     (void) printf("\t%s\n", R_CURL);
 }
 #endif /* NCURSES_XNAMES */
     (void) printf("\t%s\n", R_CURL);
 }
index 50f24947f45af39f37847e363d91e89bc6755764..51bda88410b71386b0ddb4ea333e93ea20f05c4d 100644 (file)
@@ -40,7 +40,7 @@ AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.298 2008/01/12 23:06:58 tom Exp $
+$Id: ncurses.c,v 1.300 2008/01/19 23:10:59 tom Exp $
 
 ***************************************************************************/
 
 
 ***************************************************************************/
 
@@ -608,7 +608,7 @@ remember_boxes(unsigned level, WINDOW *txt_win, WINDOW *box_win)
     winstack[level].frame = box_win;
 }
 
     winstack[level].frame = box_win;
 }
 
-#if USE_SOFTKEYS && (NCURSES_VERSION_PATCH < 20071229)
+#if USE_SOFTKEYS && (NCURSES_VERSION_PATCH < 20071229) && NCURSES_EXT_FUNCS
 static void
 slk_repaint(void)
 {
 static void
 slk_repaint(void)
 {
@@ -850,7 +850,7 @@ getch_test(void)
  * For wget_wch_test(), we create pairs of windows - one for a box, one for text.
  * Resize both and paint the box in the parent.
  */
  * For wget_wch_test(), we create pairs of windows - one for a box, one for text.
  * Resize both and paint the box in the parent.
  */
-#ifdef KEY_RESIZE
+#if defined(KEY_RESIZE) && HAVE_WRESIZE
 static void
 resize_wide_boxes(unsigned level, WINDOW *win)
 {
 static void
 resize_wide_boxes(unsigned level, WINDOW *win)
 {
@@ -1024,7 +1024,7 @@ wget_wch_test(unsigned level, WINDOW *win, int delay)
            } else
 #endif /* NCURSES_MOUSE_VERSION */
            if (code == KEY_CODE_YES) {
            } else
 #endif /* NCURSES_MOUSE_VERSION */
            if (code == KEY_CODE_YES) {
-#ifdef KEY_RESIZE
+#if defined(KEY_RESIZE) && HAVE_WRESIZE
                if (c == KEY_RESIZE) {
                    resize_wide_boxes(level, win);
                }
                if (c == KEY_RESIZE) {
                    resize_wide_boxes(level, win);
                }
@@ -3395,9 +3395,12 @@ FRAME
 };
 
 #if defined(NCURSES_VERSION)
 };
 
 #if defined(NCURSES_VERSION)
-#if NCURSES_VERSION_PATCH < 20070331
+#if (NCURSES_VERSION_PATCH < 20070331) && NCURSES_EXT_FUNCS
 #define is_keypad(win)   (win)->_use_keypad
 #define is_scrollok(win) (win)->_scroll
 #define is_keypad(win)   (win)->_use_keypad
 #define is_scrollok(win) (win)->_scroll
+#elif !defined(is_keypad)
+#define is_keypad(win)   FALSE
+#define is_scrollok(win) FALSE
 #endif
 #else
 #define is_keypad(win)   FALSE
 #endif
 #else
 #define is_keypad(win)   FALSE
@@ -3684,7 +3687,7 @@ static void
 acs_and_scroll(void)
 /* Demonstrate windows */
 {
 acs_and_scroll(void)
 /* Demonstrate windows */
 {
-    int c, i;
+    int c;
     FRAME *current = (FRAME *) 0, *neww;
     WINDOW *usescr = stdscr;
 #if HAVE_PUTWIN && HAVE_GETWIN
     FRAME *current = (FRAME *) 0, *neww;
     WINDOW *usescr = stdscr;
 #if HAVE_PUTWIN && HAVE_GETWIN
@@ -3797,7 +3800,7 @@ acs_and_scroll(void)
        case CTRL('X'): /* resize window */
            if (current) {
                pair *tmp, ul, lr;
        case CTRL('X'): /* resize window */
            if (current) {
                pair *tmp, ul, lr;
-               int mx, my;
+               int i, mx, my;
 
                move(0, 0);
                clrtoeol();
 
                move(0, 0);
                clrtoeol();
index 63b7f586a714e22cbed41163d0cecdc5983b001c..bb7a6b0afc05c9f9d7e264682c44dfe756da920f 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 2007 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2007,2008 Free Software Foundation, Inc.                   *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -26,7 +26,7 @@
  * authorization.                                                           *
  ****************************************************************************/
 /*
  * authorization.                                                           *
  ****************************************************************************/
 /*
- * $Id: test_opaque.c,v 1.4 2007/08/18 17:51:51 tom Exp $
+ * $Id: test_opaque.c,v 1.5 2008/01/19 21:01:36 tom Exp $
  *
  * Author: Thomas E Dickey
  *
  *
  * Author: Thomas E Dickey
  *
@@ -51,6 +51,8 @@
 #define BASE_Y 6
 #define MAX_COLS 1024
 
 #define BASE_Y 6
 #define MAX_COLS 1024
 
+#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20070818) && NCURSES_EXT_FUNCS
+
 static bool
 Quit(int ch)
 {
 static bool
 Quit(int ch)
 {
@@ -321,7 +323,7 @@ test_opaque(int level, char **argv, WINDOW *stswin)
                break;
            case ' ':
                bool_funcs[active].func(txtwin,
                break;
            case ' ':
                bool_funcs[active].func(txtwin,
-                                                                        !bool_funcs[active].func(txtwin, -1));
+                                       !bool_funcs[active].func(txtwin, -1));
                break;
            default:
                beep();
                break;
            default:
                beep();
@@ -419,3 +421,11 @@ main(int argc, char *argv[])
     endwin();
     ExitProgram(EXIT_SUCCESS);
 }
     endwin();
     ExitProgram(EXIT_SUCCESS);
 }
+#else
+int
+main(void)
+{
+    printf("This program requires the ncurses library\n");
+    ExitProgram(EXIT_FAILURE);
+}
+#endif
index 48c86e6b80e024282951fa8458787aed9a7ef0f1..9834e44415a7f496142d53133ba2176c7267ab70 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -50,7 +50,7 @@
  * scroll operation worked, and the refresh() code only had to do a
  * partial repaint.
  *
  * scroll operation worked, and the refresh() code only had to do a
  * partial repaint.
  *
- * $Id: view.c,v 1.66 2007/07/21 17:41:55 tom Exp $
+ * $Id: view.c,v 1.67 2008/01/19 21:01:21 tom Exp $
  */
 
 #include <test.priv.h>
  */
 
 #include <test.priv.h>
@@ -512,6 +512,7 @@ show_all(const char *tag)
     i = strlen(temp);
     sprintf(temp + i, "view %.*s", (int) (sizeof(temp) - 7 - i), fname);
 #else
     i = strlen(temp);
     sprintf(temp + i, "view %.*s", (int) (sizeof(temp) - 7 - i), fname);
 #else
+    (void) tag;
     sprintf(temp, "view %.*s", (int) sizeof(temp) - 7, fname);
 #endif
     move(0, 0);
     sprintf(temp, "view %.*s", (int) sizeof(temp) - 7, fname);
 #endif
     move(0, 0);
index 172b1dd846f7c681123140d469e1c5534a22adb1..ea407a0c0606827ff629205bfdde8358677ade63 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
 /****************************************************************************
- * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -61,7 +61,7 @@ Options:
   traces will be dumped.  The program stops and waits for one character of
   input at the beginning and end of the interval.
 
   traces will be dumped.  The program stops and waits for one character of
   input at the beginning and end of the interval.
 
-  $Id: worm.c,v 1.51 2008/01/13 01:03:23 tom Exp $
+  $Id: worm.c,v 1.53 2008/01/19 20:56:38 tom Exp $
 */
 
 #include <test.priv.h>
 */
 
 #include <test.priv.h>
@@ -307,7 +307,7 @@ draw_worm(WINDOW *win, void *data)
     return done;
 }
 
     return done;
 }
 
-#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915)
+#if !defined(NCURSES_VERSION_PATCH) || (NCURSES_VERSION_PATCH < 20070915) || !NCURSES_EXT_FUNCS
 static int
 use_window(WINDOW *win, int (*func) (WINDOW *, void *), void *data)
 {
 static int
 use_window(WINDOW *win, int (*func) (WINDOW *, void *), void *data)
 {
@@ -362,6 +362,18 @@ draw_all_worms(void)
     return done;
 }
 
     return done;
 }
 
+static int
+get_input(void)
+{
+    int ch;
+#ifdef USE_PTHREADS
+    ch = use_window(stdscr, (NCURSES_CALLBACK) wgetch, stdscr);
+#else
+    ch = getch();
+#endif
+    return ch;
+}
+
 int
 main(int argc, char *argv[])
 {
 int
 main(int argc, char *argv[])
 {
@@ -504,15 +516,15 @@ main(int argc, char *argv[])
        int ch;
 
        ++sequence;
        int ch;
 
        ++sequence;
-       if ((ch = getch()) > 0) {
+       if ((ch = get_input()) > 0) {
 #ifdef TRACE
            if (trace_start || trace_end) {
                if (generation == trace_start) {
                    trace(TRACE_CALLS);
 #ifdef TRACE
            if (trace_start || trace_end) {
                if (generation == trace_start) {
                    trace(TRACE_CALLS);
-                   getch();
+                   get_input();
                } else if (generation == trace_end) {
                    trace(0);
                } else if (generation == trace_end) {
                    trace(0);
-                   getch();
+                   get_input();
                }
 
                generation++;
                }
 
                generation++;