-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3415 2019/12/07 23:36:25 tom Exp $
+-- $Id: NEWS,v 1.3416 2019/12/14 21:26:03 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20191214
+ + add exit_curses() and exit_terminfo() to replace internal symbols for
+ leak-checking.
+
20191207
+ fix a few warnings for test-package builds
+ add curses_trace(), to replace trace().
-5:0:10 6.1 20191207
+5:0:10 6.1 20191214
// * this is for making emacs happy: -*-Mode: C++;-*-
/****************************************************************************
- * Copyright (c) 1998-2007,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2019 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 *
#define CPP_HAS_TRY_CATCH 0
#endif
-MODULE_ID("$Id: cursesmain.cc,v 1.15 2013/09/28 20:56:47 tom Exp $")
+MODULE_ID("$Id: cursesmain.cc,v 1.16 2019/12/14 22:48:23 tom Exp $")
#if HAVE_LOCALE_H
#include <locale.h>
#endif
#if NO_LEAKS
delete A;
- _nc_free_and_exit(res);
+ exit_curses(res);
#else
return(res);
#endif
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1318 2019/12/07 10:19:49 tom Exp $
+# $Id: dist.mk,v 1.1319 2019/12/14 17:50:13 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 1
-NCURSES_PATCH = 20191207
+NCURSES_PATCH = 20191214
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_89_16" TARGET="main">tgetnum</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_108_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:108</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_129_16" TARGET="main">tgetstr - terminal_interface-curses-termcap.adb:129</A>
-<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A>
<LI><A HREF="../terminal_interface-curses-termcap__adb.htm#ref_151_16" TARGET="main">tgoto</A>
+<LI><A HREF="../terminal_interface-curses-termcap__ads.htm#ref_53_13" TARGET="main">TGoto</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_69_16" TARGET="main">tigetflag</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_87_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:87</A>
<LI><A HREF="../terminal_interface-curses-terminfo__adb.htm#ref_108_16" TARGET="main">tigetstr - terminal_interface-curses-terminfo.adb:108</A>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
<!--
****************************************************************************
- * Copyright (c) 2008-2010,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 2008-2017,2019 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 *
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_curses(int);</STRONG>
+ <STRONG>void</STRONG> <STRONG>exit_terminfo(int);</STRONG>
+
+ /* deprecated */
<STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG>
<STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int);</STRONG>
<STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions are used to simplify analysis of memory leaks in the
- ncurses library. They are normally not available; they must be config-
- ured into the library at build time using the <STRONG>--disable-leaks</STRONG> option.
- That compiles-in code that frees memory that normally would not be
- freed.
+ ncurses library.
Any implementation of curses must not free the memory associated with a
screen, since (even after calling <STRONG>endwin</STRONG>), it must be available for use
- in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory held
+ in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory held
for performance reasons. That makes it hard to analyze curses applica-
- tions for memory leaks. When using the specially configured debugging
- version of the ncurses library, applications can call functions which
- free those chunks of memory, simplifying the process of memory-leak
+ tions for memory leaks. When using the specially configured debugging
+ version of the ncurses library, applications can call functions which
+ free those chunks of memory, simplifying the process of memory-leak
checking.
- These functions are named with a "_nc_" prefix because they are not in-
- tended for use in the non-debugging library:
+ Some of the functions are named with a "_nc_" prefix because they are
+ not intended for use in the non-debugging library:
<STRONG>_nc_freeall</STRONG>
This frees (almost) all of the memory allocated by ncurses.
ply exiting (with the given exit-code) is safer.
<STRONG>_nc_free_tinfo</STRONG>
- Use this function if only the low-level terminfo functions (and
+ Use this function if only the low-level terminfo functions (and
corresponding library) are used. Like <STRONG>_nc_free_and_exit</STRONG>, it exits
the program after freeing memory.
+ The functions prefixed "_nc" are normally not available; they must be
+ configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op-
+ tion. That compiles-in code that frees memory that normally would not
+ be freed.
+
+ The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and
+ <STRONG>_nc_free_tinfo</STRONG> if the library is configured to support memory-leak
+ checking. If the library is not configured to support memory-leak
+ checking, they simply call <STRONG>exit</STRONG>.
+
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions do not return a value.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
method of updating character screens with reasonable optimization.
This implementation is "new curses" (ncurses) and is the approved
replacement for 4.4BSD classic curses, which has been discontinued.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This manual describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
<STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>ter-</STRONG>
<STRONG><A HREF="terminfo.5.html">minfo(5)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>.
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
<STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
<STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
- This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191207).
+ This describes <STRONG>ncurses</STRONG> version 6.1 (patch 20191214).
print "/* and: Thomas E. Dickey 1995-on */"
print "/****************************************************************************/"
print ""
- print "/* $Id: MKterm.h.awk.in,v 1.71 2019/04/13 22:34:42 tom Exp $ */"
+ print "/* $Id: MKterm.h.awk.in,v 1.72 2019/12/14 22:31:32 tom Exp $ */"
print ""
print "/*"
print "** term.h -- Definition of struct term"
print ""
print ""
print "/*"
- print " * These entrypoints are used by tack."
+ print " * These entrypoints are used by tack 1.07."
print " */"
print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
print ""
- print "/* Normal entry points */"
+ print "/*"
+ print " * Normal entry points"
+ print " */"
print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
print ""
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
print "#endif /* NCURSES_SP_FUNCS */"
print ""
+ print "/*"
+ print " * Debugging features."
+ print " */"
+ print "extern NCURSES_EXPORT(void) exit_terminfo(int) GCC_NORETURN;"
+ print ""
print "#ifdef __cplusplus"
printf "%s\n", rcurl;
print "#endif"
-/* $Id: curses.tail,v 1.24 2019/12/07 16:10:32 tom Exp $ */
+/* $Id: curses.tail,v 1.25 2019/12/14 22:28:39 tom Exp $ */
/*
* vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in
#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */
#endif
+extern NCURSES_EXPORT(void) exit_curses (int) GCC_NORETURN;
+
#include <unctrl.h>
#ifdef __cplusplus
/****************************************************************************
- * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 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 *
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: nc_alloc.h,v 1.23 2017/07/22 16:59:37 tom Exp $ */
+/* $Id: nc_alloc.h,v 1.24 2019/12/15 01:00:51 tom Exp $ */
#ifndef NC_ALLOC_included
#define NC_ALLOC_included 1
#if HAVE_LIBDBMALLOC || HAVE_LIBDMALLOC || NO_LEAKS
#define HAVE_NC_FREEALL 1
struct termtype;
-extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN;
-extern NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_NORETURN;
+extern NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_NORETURN GCC_DEPRECATED("use exit_terminfo");
+
+#ifdef NCURSES_INTERNALS
extern NCURSES_EXPORT(void) _nc_free_tic(int) GCC_NORETURN;
extern NCURSES_EXPORT(void) _nc_free_tparm(void);
extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void);
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int) GCC_NORETURN;
#endif
+extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN;
+
+#else /* !NCURSES_INTERNALS */
+extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN GCC_DEPRECATED("use exit_curses");
+#endif
-#define ExitProgram(code) _nc_free_and_exit(code)
+#define ExitProgram(code) exit_curses(code)
#endif /* NO_LEAKS, etc */
.\"***************************************************************************
-.\" Copyright (c) 2008-2010,2017 Free Software Foundation, Inc. *
+.\" Copyright (c) 2008-2017,2019 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 *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_memleaks.3x,v 1.6 2017/08/22 08:35:37 Sven.Joachim Exp $
+.\" $Id: curs_memleaks.3x,v 1.7 2019/12/14 23:21:32 tom Exp $
.TH curs_memleaks 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.SH SYNOPSIS
\fB#include <curses.h>\fR
.sp
+\fBvoid exit_curses(int);\fR
+.br
+\fBvoid exit_terminfo(int);\fR
+.sp
+/* deprecated */
+.br
\fBvoid _nc_freeall(void);\fR
.br
\fBvoid _nc_free_and_exit(int);\fR
.SH DESCRIPTION
These functions are used to simplify analysis of memory leaks in the ncurses
library.
-They are normally not available;
-they must be configured into the library
-at build time using the \fB\-\-disable-leaks\fP option.
-That compiles-in code that frees memory that normally would not be freed.
.PP
Any implementation of curses must not free the memory associated with
a screen, since (even after calling \fBendwin\fP), it must be available
applications can call functions which free those chunks of memory,
simplifying the process of memory-leak checking.
.PP
-These functions are named with a \*(``_nc_\*('' prefix because they are not
-intended for use in the non-debugging library:
+Some of the functions are named with a \*(``_nc_\*('' prefix
+because they are not intended for use in the non-debugging library:
.TP 5
\fB_nc_freeall\fP
This frees (almost) all of the memory allocated by ncurses.
Use this function if only the low-level terminfo functions (and
corresponding library) are used.
Like \fB_nc_free_and_exit\fP, it exits the program after freeing memory.
+.PP
+The functions prefixed \*(``_nc\*('' are normally not available;
+they must be configured into the library
+at build time using the \fB\-\-disable-leaks\fP option.
+That compiles-in code that frees memory that normally would not be freed.
+.PP
+The \fBexit_curses\fP and \fBexit_terminfo\fP functions
+call \fB_nc_free_and_exit\fP and \fB_nc_free_tinfo\fP if
+the library is configured to support memory-leak checking.
+If the library is not configured to support memory-leak checking,
+they simply call \fBexit\fP.
.SH RETURN VALUE
These functions do not return a value.
.SH PORTABILITY
extern int malloc_errfd; /* FIXME */
#endif
-MODULE_ID("$Id: lib_freeall.c,v 1.70 2019/12/07 20:28:03 tom Exp $")
+MODULE_ID("$Id: lib_freeall.c,v 1.71 2019/12/15 00:30:49 tom Exp $")
/*
* Free all ncurses data. This is used for testing only (there's no practical
exit(code);
}
-#else
+#else /* !HAVE_NC_FREEALL */
NCURSES_EXPORT(void)
_nc_freeall(void)
{
}
exit(code);
}
-#endif
+#endif /* HAVE_NC_FREEALL */
#if NCURSES_SP_FUNCS
NCURSES_EXPORT(void)
NCURSES_SP_NAME(_nc_free_and_exit) (CURRENT_SCREEN, code);
}
#endif
+
+NCURSES_EXPORT(void)
+exit_curses(int code)
+{
+#if NO_LEAKS
+#if NCURSES_SP_FUNCS
+ NCURSES_SP_NAME(_nc_free_and_exit) (CURRENT_SCREEN, code);
+#else
+ _nc_free_and_exit(code); /* deprecated... */
+#endif
+#endif
+ exit(code);
+}
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.626 2019/12/07 20:08:06 tom Exp $
+ * $Id: curses.priv.h,v 1.627 2019/12/14 22:36:12 tom Exp $
*
* curses.priv.h
*
extern NCURSES_EXPORT(int) _nc_ripoffline(int, int(*)(WINDOW*, int));
/* lib_setup.c */
-#if NO_LEAKS
-#define ExitTerminfo(code) _nc_free_tinfo(code)
-#else
-#define ExitTerminfo(code) exit(code)
-#endif
+#define ExitTerminfo(code) exit_terminfo(code)
#define SETUP_FAIL ERR
extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE2 *const);
extern NCURSES_EXPORT(void) _nc_do_color (int, int, int, NCURSES_OUTC);
extern NCURSES_EXPORT(void) _nc_flush (void);
-extern NCURSES_EXPORT(void) _nc_free_and_exit (int) GCC_NORETURN;
extern NCURSES_EXPORT(void) _nc_free_entry (ENTRY *, TERMTYPE2 *);
extern NCURSES_EXPORT(void) _nc_freeall (void);
extern NCURSES_EXPORT(void) _nc_hash_map (void);
int code)
{ /* void */ }
+#undef exit_curses
+void exit_curses(
+ int code)
+ { /* void */ }
+
/* ./expanded.c */
#undef _nc_toggle_attr_on
void _nc_leaks_tinfo(void)
{ /* void */ }
+#undef exit_terminfo
+void exit_terminfo(
+ int code)
+ { /* void */ }
+
/* ./fallback.c */
#undef _nc_fallback
#undef _nc_outchars
long _nc_outchars;
+#undef curses_trace
+unsigned curses_trace(
+ unsigned tracelevel)
+ { return(*(unsigned *)0); }
+
#undef trace
void trace(
const unsigned int tracelevel)
/* ./tty/hardscroll.c */
#include <curses.priv.h>
+
#undef _nc_oldnums
int *_nc_oldnums;
int code)
{ /* void */ }
+#undef exit_curses
+void exit_curses(
+ int code)
+ { /* void */ }
+
/* ./expanded.c */
#undef _nc_toggle_attr_on
void _nc_leaks_tinfo(void)
{ /* void */ }
+#undef exit_terminfo
+void exit_terminfo(
+ int code)
+ { /* void */ }
+
/* ./fallback.c */
#undef _nc_fallback
long increment)
{ /* void */ }
+#undef curses_trace
+unsigned curses_trace(
+ unsigned tracelevel)
+ { return(*(unsigned *)0); }
+
#undef trace
void trace(
const unsigned int tracelevel)
/* ./tty/hardscroll.c */
#include <curses.priv.h>
+
#undef _nc_oldnums
int *_nc_oldnums;
int code)
{ /* void */ }
+#undef exit_curses
+void exit_curses(
+ int code)
+ { /* void */ }
+
/* ./widechar/charable.c */
#undef _nc_is_charable
void _nc_leaks_tinfo(void)
{ /* void */ }
+#undef exit_terminfo
+void exit_terminfo(
+ int code)
+ { /* void */ }
+
/* ./fallback.c */
#undef _nc_fallback2
long increment)
{ /* void */ }
+#undef curses_trace
+unsigned curses_trace(
+ unsigned tracelevel)
+ { return(*(unsigned *)0); }
+
#undef trace
void trace(
const unsigned int tracelevel)
/* ./tty/hardscroll.c */
#include <curses.priv.h>
+
#undef _nc_oldnums
int *_nc_oldnums;
int code)
{ /* void */ }
+#undef exit_curses
+void exit_curses(
+ int code)
+ { /* void */ }
+
/* ./widechar/charable.c */
#undef _nc_is_charable
void _nc_leaks_tinfo(void)
{ /* void */ }
+#undef exit_terminfo
+void exit_terminfo(
+ int code)
+ { /* void */ }
+
/* ./fallback.c */
#undef _nc_fallback2
#undef _nc_outchars
long _nc_outchars;
+#undef curses_trace
+unsigned curses_trace(
+ unsigned tracelevel)
+ { return(*(unsigned *)0); }
+
#undef trace
void trace(
const unsigned int tracelevel)
#include <tic.h>
-MODULE_ID("$Id: comp_parse.c,v 1.107 2019/10/19 20:47:43 tom Exp $")
+MODULE_ID("$Id: comp_parse.c,v 1.108 2019/12/14 22:34:35 tom Exp $")
static void sanity_check2(TERMTYPE2 *, bool);
NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE2 *, bool) = sanity_check2;
_nc_free_tic(int code)
{
_nc_leaks_tic();
- _nc_free_tinfo(code);
+ exit_terminfo(code);
}
#endif
#include <tic.h>
-MODULE_ID("$Id: entries.c,v 1.28 2019/12/07 20:28:55 tom Exp $")
+MODULE_ID("$Id: entries.c,v 1.29 2019/12/15 00:18:03 tom Exp $")
/****************************************************************************
*
exit(code);
}
#endif
+
+NCURSES_EXPORT(void)
+exit_terminfo(int code)
+{
+#if NO_LEAKS
+ _nc_leaks_tinfo();
+#endif
+ exit(code);
+}
/****************************************************************************
- * Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2016,2019 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 *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: hashmap.c,v 1.66 2016/05/28 23:32:40 tom Exp $")
+MODULE_ID("$Id: hashmap.c,v 1.67 2019/12/15 00:57:15 tom Exp $")
#ifdef HASHDEBUG
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
static NCURSES_INLINE unsigned long
-hash(SCREEN *sp, NCURSES_CH_T * text)
+hash(SCREEN *sp, NCURSES_CH_T *text)
{
int i;
NCURSES_CH_T ch;
/* approximate update cost */
static int
-update_cost(SCREEN *sp, NCURSES_CH_T * from, NCURSES_CH_T * to)
+update_cost(SCREEN *sp, NCURSES_CH_T *from, NCURSES_CH_T *to)
{
int cost = 0;
int i;
}
static int
-update_cost_from_blank(SCREEN *sp, NCURSES_CH_T * to)
+update_cost_from_blank(SCREEN *sp, NCURSES_CH_T *to)
{
int cost = 0;
int i;
break;
}
}
-#if NO_LEAKS
- _nc_free_and_exit(EXIT_SUCCESS);
-#else
- return EXIT_SUCCESS;
-#endif
+ exit_curses(EXIT_SUCCESS);
}
#endif /* HASHDEBUG */
-ncurses6 (6.1+20191207) unstable; urgency=low
+ncurses6 (6.1+20191214) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 07 Dec 2019 05:19:49 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Dec 2019 12:50:13 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.1+20191207) unstable; urgency=low
+ncurses6 (6.1+20191214) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 07 Dec 2019 05:19:49 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Dec 2019 12:50:13 -0500
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.1+20191207) unstable; urgency=low
+ncurses6 (6.1+20191214) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 07 Dec 2019 05:19:49 -0500
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 14 Dec 2019 12:50:13 -0500
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.364 2019/12/07 10:19:49 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.365 2019/12/14 17:50:13 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "1"\r
!define VERSION_YYYY "2019"\r
-!define VERSION_MMDD "1207"\r
+!define VERSION_MMDD "1214"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.1
-Release: 20191207
+Release: 20191214
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
-# $Id: ncurses.map,v 1.48 2019/12/07 18:03:20 tom Exp $
+# $Id: ncurses.map,v 1.50 2019/12/14 23:28:36 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
reset_color_pairs_sp;
unfocus_current_field;
local:
- _*;
_nc_Unset_Current_Field;
_nc_change_pair;
_nc_init_color;
_nc_set_color_pair;
} NCURSES_5.9.20150530;
+NCURSES_6.1.current {
+ global:
+ exit_curses;
+ local:
+ _*;
+} NCURSES_6.1.20171230;
+
NCURSES_TIC_5.0.19991023 {
global:
_nc_capcmp;
_nc_fmt_funcptr;
_nc_wacs_width;
curses_trace;
+ exit_terminfo;
local:
_*;
} NCURSES_TINFO_6.1.20171230;
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.1
-Release: 20191207
+Release: 20191214
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
-# $Id: ncurses.sym,v 1.34 2019/12/07 18:03:20 tom Exp $
+# $Id: ncurses.sym,v 1.35 2019/12/14 22:40:34 tom Exp $
# script for shared library symbol-visibility using libtool
#
# This file was generated by ncu-mapsyms
erase
erasechar
erasechar_sp
+exit_curses
+exit_terminfo
extended_color_content
extended_color_content_sp
extended_pair_content
-# $Id: ncursest.map,v 1.46 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursest.map,v 1.48 2019/12/14 23:28:54 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
_nc_fmt_funcptr;
_nc_wacs_width;
curses_trace;
+ exit_terminfo;
local:
_*;
} NCURSES_TINFO_6.1.20171230;
reset_color_pairs_sp;
unfocus_current_field;
local:
- _*;
_nc_Unset_Current_Field;
_nc_change_pair;
_nc_init_color;
_nc_reset_color_pair;
_nc_set_color_pair;
} NCURSEST_5.9.20150530;
+
+NCURSEST_6.1.current {
+ global:
+ exit_curses;
+ local:
+ _*;
+} NCURSEST_6.1.20171230;
+
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.1
-Release: 20191207
+Release: 20191214
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
-# $Id: ncursest.sym,v 1.38 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursest.sym,v 1.39 2019/12/14 22:42:32 tom Exp $
# script for shared library symbol-visibility using libtool
#
# This file was generated by ncu-mapsyms
erase
erasechar
erasechar_sp
+exit_curses
+exit_terminfo
extended_color_content
extended_color_content_sp
extended_pair_content
-# $Id: ncursestw.map,v 1.48 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursestw.map,v 1.50 2019/12/14 23:28:20 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
_nc_fmt_funcptr;
_nc_wacs_width;
curses_trace;
+ exit_terminfo;
local:
_*;
} NCURSES_TINFO_6.1.20171230;
reset_color_pairs_sp;
unfocus_current_field;
local:
- _*;
_nc_Unset_Current_Field;
_nc_change_pair;
_nc_init_color;
_nc_reset_color_pair;
_nc_set_color_pair;
} NCURSESTW_5.9.20150530;
+
+NCURSESTW_6.1.current {
+ global:
+ exit_curses;
+ local:
+ _*;
+} NCURSESTW_6.1.20171230;
-# $Id: ncursestw.sym,v 1.37 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursestw.sym,v 1.38 2019/12/14 22:44:31 tom Exp $
# script for shared library symbol-visibility using libtool
#
# This file was generated by ncu-mapsyms
erasechar
erasechar_sp
erasewchar
+exit_curses
+exit_terminfo
extended_color_content
extended_color_content_sp
extended_pair_content
-# $Id: ncursesw.map,v 1.51 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursesw.map,v 1.53 2019/12/14 23:28:02 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
_nc_fmt_funcptr;
_nc_wacs_width;
curses_trace;
+ exit_terminfo;
local:
_*;
} NCURSES_TINFO_6.1.20171230;
reset_color_pairs_sp;
unfocus_current_field;
local:
- _*;
_nc_Unset_Current_Field;
_nc_change_pair;
_nc_init_color;
_nc_reset_color_pair;
_nc_set_color_pair;
} NCURSESW_5.9.20150530;
+
+NCURSESW_6.1.current {
+ global:
+ exit_curses;
+ local:
+ _*;
+} NCURSESW_6.1.20171230;
-# $Id: ncursesw.sym,v 1.36 2019/12/07 18:03:20 tom Exp $
+# $Id: ncursesw.sym,v 1.37 2019/12/14 22:45:41 tom Exp $
# script for shared library symbol-visibility using libtool
#
# This file was generated by ncu-mapsyms
erasechar
erasechar_sp
erasewchar
+exit_curses
+exit_terminfo
extended_color_content
extended_color_content_sp
extended_pair_content
/****************************************************************************
- * Copyright (c) 1998-2015,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 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 *
* Author: Thomas E. Dickey 1997-on *
****************************************************************************/
/*
- * $Id: progs.priv.h,v 1.46 2017/10/09 00:30:38 tom Exp $
+ * $Id: progs.priv.h,v 1.47 2019/12/14 23:53:12 tom Exp $
*
* progs.priv.h
*
#include <nc_string.h>
#include <nc_alloc.h>
+
#if HAVE_NC_FREEALL
#undef ExitProgram
#ifdef USE_LIBTINFO
-#define ExitProgram(code) _nc_free_tinfo(code)
+#define ExitProgram(code) exit_terminfo(code)
#else
#define ExitProgram(code) _nc_free_tic(code)
#endif
/****************************************************************************
- * Copyright (c) 2017,2018 Free Software Foundation, Inc. *
+ * Copyright (c) 2017-2018,2019 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 *
* authorization. *
****************************************************************************/
/*
- * $Id: demo_new_pair.c,v 1.19 2018/05/12 14:30:04 tom Exp $
+ * $Id: demo_new_pair.c,v 1.20 2019/12/14 23:26:09 tom Exp $
*
* Demonstrate the alloc_pair() function.
*/
total_cells += 1 + (use_wide ? 1 : 0);
++current;
}
- exit_curses();
+ stop_curses();
fclose(output);
printf("%.1f cells/second\n",
* authorization. *
****************************************************************************/
/*
- * $Id: echochar.c,v 1.19 2019/08/24 23:11:01 tom Exp $
+ * $Id: echochar.c,v 1.20 2019/12/14 23:25:29 tom Exp $
*
* Demonstrate the echochar function (compare to dots.c).
* Thomas Dickey - 2006/11/4
static void
cleanup(void)
{
- exit_curses();
+ stop_curses();
printf("\n\n%ld total cells, rate %.2f/sec\n",
total_chars,
/****************************************************************************
- * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 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 *
* authorization. *
****************************************************************************/
/*
- * $Id: firework.c,v 1.35 2017/09/30 15:42:24 tom Exp $
+ * $Id: firework.c,v 1.36 2019/12/14 23:26:09 tom Exp $
*/
#include <test.priv.h>
static void
cleanup(void)
{
- exit_curses();
+ stop_curses();
}
static void
* modified 10-18-89 for curses (jrl)
* 10-18-89 added signal handling
*
- * $Id: gdc.c,v 1.52 2019/08/24 23:11:01 tom Exp $
+ * $Id: gdc.c,v 1.53 2019/12/14 23:25:29 tom Exp $
*/
#include <test.priv.h>
signal(signo, sighndl);
sigtermed = signo;
if (redirected) {
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_FAILURE);
}
}
{
if (sigtermed) {
(void) standend();
- exit_curses();
+ stop_curses();
fprintf(stderr, "gdc terminated by signal %d\n", sigtermed);
ExitProgram(EXIT_FAILURE);
}
}
} while (--count);
(void) standend();
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_SUCCESS);
}
/****************************************************************************
- * Copyright (c) 1998-2014,2017 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2017,2019 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 *
*
* Date: 05.Nov.90
*
- * $Id: hanoi.c,v 1.39 2017/09/09 00:19:24 tom Exp $
+ * $Id: hanoi.c,v 1.40 2019/12/14 23:26:09 tom Exp $
*/
#include <test.priv.h>
}
}
}
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_SUCCESS);
}
* This can't be part of the ncurses test-program, because ncurses rips off the
* bottom line to do labels.
*
- * $Id: lrtest.c,v 1.25 2019/12/07 18:07:04 tom Exp $
+ * $Id: lrtest.c,v 1.26 2019/12/14 23:25:29 tom Exp $
*/
#include <test.priv.h>
refresh();
}
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_SUCCESS);
}
Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
Thomas E. Dickey (beginning revision 1.27 in 1996).
-$Id: ncurses.c,v 1.520 2019/12/07 19:04:52 tom Exp $
+$Id: ncurses.c,v 1.521 2019/12/14 23:25:29 tom Exp $
***************************************************************************/
delwin(win2);
delwin(win1);
erase();
- exit_curses();
+ stop_curses();
return OK;
}
delwin(win2);
delwin(win1);
erase();
- exit_curses();
+ stop_curses();
return OK;
}
#endif /* USE_WIDEC_SUPPORT */
#endif
Pause();
erase();
- exit_curses();
+ stop_curses();
return OK;
}
* newdemo.c - A demo program using PDCurses. The program illustrate
* the use of colours for text output.
*
- * $Id: newdemo.c,v 1.46 2019/08/24 23:02:49 tom Exp $
+ * $Id: newdemo.c,v 1.47 2019/12/14 23:25:29 tom Exp $
*/
#include <test.priv.h>
static void
trap(int sig GCC_UNUSED)
{
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_FAILURE);
}
height = 14; /* Create a drawing window */
win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
if (win == NULL) {
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_FAILURE);
}
if (WaitForUser(win) == 1)
break;
}
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_SUCCESS);
}
* authorization. *
****************************************************************************/
/*
- * $Id: picsmap.c,v 1.130 2019/08/24 23:07:34 tom Exp $
+ * $Id: picsmap.c,v 1.131 2019/12/14 23:51:39 tom Exp $
*
* Author: Thomas E. Dickey
*
#define P2I(n) (((int)(my_intptr_t)(n)) - 1)
#define I2P(n) (void *)(my_intptr_t)((n) + 1)
-#define stop_curses() if (in_curses) endwin()
+#define pause_curses() if (in_curses) stop_curses()
#define debugmsg if (debugging) logmsg
#define debugmsg2 if (debugging) logmsg2
static void
cleanup(int code)
{
- stop_curses();
+ pause_curses();
close_log();
ExitProgram(code);
/* NOTREACHED */
struct stat sb;
if (!quiet) {
- stop_curses();
+ pause_curses();
printf("** %s\n", filename);
}
};
size_t n;
- stop_curses();
+ pause_curses();
fflush(stdout);
for (n = 0; n < SIZEOF(msg); n++)
{
va_list ap;
- stop_curses();
+ pause_curses();
fflush(stdout);
va_start(ap, fmt);
init_palette(palette_path);
}
scrollok(stdscr, FALSE);
- exit_curses();
+ stop_curses();
}
}
/****************************************************************************
- * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2018,2019 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 *
* authorization. *
****************************************************************************/
/*
- * $Id: rain.c,v 1.49 2018/06/23 21:35:06 tom Exp $
+ * $Id: rain.c,v 1.50 2019/12/14 23:26:09 tom Exp $
*/
#include <test.priv.h>
#include <popup_msg.h>
static void
onsig(int n GCC_UNUSED)
{
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_FAILURE);
}
}
napms(50);
}
- exit_curses();
+ stop_curses();
#ifdef USE_PTHREADS
printf("Counts per thread:\n");
for (j = 0; j < MAX_THREADS; ++j)
* authorization. *
****************************************************************************/
/*
- * $Id: savescreen.c,v 1.55 2019/01/20 15:59:28 tom Exp $
+ * $Id: savescreen.c,v 1.56 2019/12/14 23:25:29 tom Exp $
*
* Demonstrate save/restore functions from the curses library.
* Thomas Dickey - 2007/7/14
}
move(0, 0);
} else {
- exit_curses();
+ stop_curses();
fprintf(stderr, "Cannot open \"%s\"\n", fill_by);
ExitProgram(EXIT_FAILURE);
}
* Use the last file as the initial/current screen.
*/
if (last < 0) {
- exit_curses();
+ stop_curses();
printf("No screen-dumps given\n");
ExitProgram(EXIT_FAILURE);
}
which = last;
if (load_screen(files[which]) == ERR) {
- exit_curses();
+ stop_curses();
printf("Cannot load screen-dump %s\n", files[which]);
ExitProgram(EXIT_FAILURE);
}
-/* $Id: tclock.c,v 1.39 2018/12/29 17:23:42 tom Exp $ */
+/* $Id: tclock.c,v 1.40 2019/12/14 23:25:29 tom Exp $ */
#define NEED_TIME_H
#include <test.priv.h>
}
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_SUCCESS);
}
#else
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
-/* $Id: test.priv.h,v 1.183 2019/12/07 19:03:20 tom Exp $ */
+/* $Id: test.priv.h,v 1.184 2019/12/14 23:25:29 tom Exp $ */
#ifndef __TEST_PRIV_H
#define __TEST_PRIV_H 1
* ncurses restores the cursor in endwin(). Other libraries may not.
*/
#ifdef NCURSES_VERSION
-#define exit_curses() endwin()
+#define stop_curses() endwin()
#else
-#define exit_curses() do { endwin(); curs_set(1); } while (0)
+#define stop_curses() do { endwin(); curs_set(1); } while (0)
#endif
/* ncurses implements tparm() with varargs, X/Open with a fixed-parameter list
#include <nc_alloc.h>
#if HAVE_NC_FREEALL && defined(USE_TINFO)
#undef ExitProgram
-#define ExitProgram(code) _nc_free_tinfo(code)
+#define ExitProgram(code) exit_terminfo(code)
#endif
#else
#define typeMalloc(type,n) (type *) malloc((size_t)(n) * sizeof(type))
* wrs(5/28/93) -- modified to be consistent (perform identically) with either
* PDCurses or under Unix System V, R4
*
- * $Id: testcurs.c,v 1.54 2019/12/07 18:06:12 tom Exp $
+ * $Id: testcurs.c,v 1.55 2019/12/14 23:25:29 tom Exp $
*/
#include <test.priv.h>
height = 13; /* Create a drawing window */
*win = newwin(height, width, (LINES - height) / 2, (COLS - width) / 2);
if (*win == NULL) {
- exit_curses();
+ stop_curses();
return 0;
}
return 1;
win1 = newwin(10, 50, 14, 25);
if (win1 == NULL) {
- exit_curses();
+ stop_curses();
return;
}
#ifdef A_COLOR
delwin(win);
- exit_curses();
+ stop_curses();
#ifdef XCURSES
XCursesExit();
#endif
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.80 2019/12/07 19:04:09 tom Exp $
+ $Id: worm.c,v 1.81 2019/12/14 23:25:29 tom Exp $
*/
#include <test.priv.h>
failed(const char *s)
{
perror(s);
- exit_curses();
+ stop_curses();
ExitProgram(EXIT_FAILURE);
}
#endif
cleanup(void)
{
USING_WINDOW1(stdscr, wrefresh, safe_wrefresh);
- exit_curses();
+ stop_curses();
}
static void
/******************************************************************************/
/*
- * $Id: xmas.c,v 1.33 2017/09/30 19:14:13 tom Exp $
+ * $Id: xmas.c,v 1.34 2019/12/14 23:25:29 tom Exp $
*/
#include <test.priv.h>
{
move(LINES - 1, 0);
refresh();
- exit_curses();
+ stop_curses();
#if NO_LEAKS
if (my_pairs != 0)
(w_holiday = newwin(1, 26, 3, 27)) == 0 ||
(w_del_msg = newwin(1, 19, 23, 60)) == 0) {
- exit_curses();
+ stop_curses();
fprintf(stderr, "Cannot create windows - screen too small\n");
ExitProgram(EXIT_FAILURE);
}