mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2025-03-07 16:16:53 +08:00
ncurses 6.0 - patch 20170408
+ change logic in wins_nwstr() to avoid addressing data past the output of mbstowcs(). + correct a call to setcchar() in Data_Entry_w() from 20131207 changes. + fix minor memory-leaks in test-programs. + further improve ifdef in term_entry.h for internal definitions not used by tack.
This commit is contained in:
parent
3eda6f30a8
commit
a924c24b25
2
MANIFEST
2
MANIFEST
@ -1104,6 +1104,7 @@
|
||||
./test/echochar.c
|
||||
./test/edit_field.c
|
||||
./test/edit_field.h
|
||||
./test/extended_color.c
|
||||
./test/filter.c
|
||||
./test/firework.c
|
||||
./test/firstlast.c
|
||||
@ -1162,6 +1163,7 @@
|
||||
./test/redraw.c
|
||||
./test/savescreen.c
|
||||
./test/savescreen.sh
|
||||
./test/sp_tinfo.c
|
||||
./test/tclock.c
|
||||
./test/test.priv.h
|
||||
./test/test_add_wchstr.c
|
||||
|
10
NEWS
10
NEWS
@ -25,7 +25,7 @@
|
||||
-- sale, use or other dealings in this Software without prior written --
|
||||
-- authorization. --
|
||||
-------------------------------------------------------------------------------
|
||||
-- $Id: NEWS,v 1.2794 2017/04/01 20:42:24 tom Exp $
|
||||
-- $Id: NEWS,v 1.2799 2017/04/08 22:54:04 tom Exp $
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
This is a log of changes that ncurses has gone through since Zeyd started
|
||||
@ -45,6 +45,14 @@ 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.
|
||||
|
||||
20170408
|
||||
+ change logic in wins_nwstr() to avoid addressing data past the output
|
||||
of mbstowcs().
|
||||
+ correct a call to setcchar() in Data_Entry_w() from 20131207 changes.
|
||||
+ fix minor memory-leaks in test-programs.
|
||||
+ further improve ifdef in term_entry.h for internal definitions not
|
||||
used by tack.
|
||||
|
||||
20170401
|
||||
+ minor fixes for vt100+4bsd, e.g., delay in sgr for consistency -TD
|
||||
+ add smso for env230, to match sgr -TD
|
||||
|
4
dist.mk
4
dist.mk
@ -25,7 +25,7 @@
|
||||
# use or other dealings in this Software without prior written #
|
||||
# authorization. #
|
||||
##############################################################################
|
||||
# $Id: dist.mk,v 1.1154 2017/03/26 13:39:03 tom Exp $
|
||||
# $Id: dist.mk,v 1.1155 2017/04/02 10:36:57 tom Exp $
|
||||
# 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 = 6
|
||||
NCURSES_MINOR = 0
|
||||
NCURSES_PATCH = 20170401
|
||||
NCURSES_PATCH = 20170408
|
||||
|
||||
# We don't append the patch to the version, since this only applies to releases
|
||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2015,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2016,2017 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 *
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
#include "form.priv.h"
|
||||
|
||||
MODULE_ID("$Id: frm_driver.c,v 1.120 2016/12/24 22:28:28 Leon.Winter Exp $")
|
||||
MODULE_ID("$Id: frm_driver.c,v 1.121 2017/04/08 22:02:15 tom Exp $")
|
||||
|
||||
/*----------------------------------------------------------------------------
|
||||
This is the core module of the form library. It contains the majority
|
||||
@ -4045,7 +4045,7 @@ Data_Entry_w(FORM *form, wchar_t c)
|
||||
cchar_t temp_ch;
|
||||
|
||||
given[0] = c;
|
||||
given[1] = 1;
|
||||
given[1] = 0;
|
||||
setcchar(&temp_ch, given, 0, 0, (void *)0);
|
||||
if ((Field_Has_Option(field, O_BLANK)) &&
|
||||
First_Position_In_Current_Field(form) &&
|
||||
|
@ -1,355 +1,361 @@
|
||||
# vile:awkmode
|
||||
BEGIN {
|
||||
print "/****************************************************************************"
|
||||
print " * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc. *"
|
||||
print " * *"
|
||||
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
|
||||
print " * copy of this software and associated documentation files (the *"
|
||||
print " * \"Software\"), to deal in the Software without restriction, including *"
|
||||
print " * without limitation the rights to use, copy, modify, merge, publish, *"
|
||||
print " * distribute, distribute with modifications, sublicense, and/or sell *"
|
||||
print " * copies of the Software, and to permit persons to whom the Software is *"
|
||||
print " * furnished to do so, subject to the following conditions: *"
|
||||
print " * *"
|
||||
print " * The above copyright notice and this permission notice shall be included *"
|
||||
print " * in all copies or substantial portions of the Software. *"
|
||||
print " * *"
|
||||
print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *"
|
||||
print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *"
|
||||
print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *"
|
||||
print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *"
|
||||
print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *"
|
||||
print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *"
|
||||
print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *"
|
||||
print " * *"
|
||||
print " * Except as contained in this notice, the name(s) of the above copyright *"
|
||||
print " * holders shall not be used in advertising or otherwise to promote the *"
|
||||
print " * sale, use or other dealings in this Software without prior written *"
|
||||
print " * authorization. *"
|
||||
print " ****************************************************************************/"
|
||||
print ""
|
||||
print "/****************************************************************************/"
|
||||
print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */"
|
||||
print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */"
|
||||
print "/* and: Thomas E. Dickey 1995-on */"
|
||||
print "/****************************************************************************/"
|
||||
print ""
|
||||
print "/* $Id: MKterm.h.awk.in,v 1.65 2017/03/18 20:05:53 tom Exp $ */"
|
||||
print ""
|
||||
print "/*"
|
||||
print "** term.h -- Definition of struct term"
|
||||
print "*/"
|
||||
print ""
|
||||
print "#ifndef NCURSES_TERM_H_incl"
|
||||
print "#define NCURSES_TERM_H_incl 1"
|
||||
print ""
|
||||
print "#undef NCURSES_VERSION"
|
||||
print "#define NCURSES_VERSION \"@NCURSES_MAJOR@.@NCURSES_MINOR@\""
|
||||
print ""
|
||||
print "#include <ncurses_dll.h>"
|
||||
print ""
|
||||
print "#ifdef __cplusplus"
|
||||
print "extern \"C\" {"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
|
||||
print " * definition (based on the system for which this was configured)."
|
||||
print " */"
|
||||
print ""
|
||||
print "#undef NCURSES_CONST"
|
||||
print "#define NCURSES_CONST @NCURSES_CONST@"
|
||||
print ""
|
||||
print "#undef NCURSES_SBOOL"
|
||||
print "#define NCURSES_SBOOL @NCURSES_SBOOL@"
|
||||
print ""
|
||||
print "#undef NCURSES_USE_DATABASE"
|
||||
print "#define NCURSES_USE_DATABASE @NCURSES_USE_DATABASE@"
|
||||
print ""
|
||||
print "#undef NCURSES_USE_TERMCAP"
|
||||
print "#define NCURSES_USE_TERMCAP @NCURSES_USE_TERMCAP@"
|
||||
print ""
|
||||
print "#undef NCURSES_XNAMES"
|
||||
print "#define NCURSES_XNAMES @NCURSES_XNAMES@"
|
||||
print ""
|
||||
print "/* We will use these symbols to hide differences between"
|
||||
print " * termios/termio/sgttyb interfaces."
|
||||
print " */"
|
||||
print "#undef TTY"
|
||||
print "#undef SET_TTY"
|
||||
print "#undef GET_TTY"
|
||||
print ""
|
||||
print "/* Assume POSIX termio if we have the header and function */"
|
||||
print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
|
||||
print "#if @HAVE_TERMIOS_H@ && @HAVE_TCGETATTR@"
|
||||
print ""
|
||||
print "#undef TERMIOS"
|
||||
print "#define TERMIOS 1"
|
||||
print ""
|
||||
print "#include <termios.h>"
|
||||
print "#define TTY struct termios"
|
||||
print ""
|
||||
print "#else /* !HAVE_TERMIOS_H */"
|
||||
print ""
|
||||
print "/* #if HAVE_TERMIO_H */"
|
||||
print "#if @HAVE_TERMIO_H@"
|
||||
print ""
|
||||
print "#undef TERMIOS"
|
||||
print "#define TERMIOS 1"
|
||||
print ""
|
||||
print "#include <termio.h>"
|
||||
print "#define TTY struct termio"
|
||||
print ""
|
||||
print "#else /* !HAVE_TERMIO_H */"
|
||||
print ""
|
||||
print "#if __MINGW32__"
|
||||
print "# include <ncurses_mingw.h>"
|
||||
print "# define TTY struct termios"
|
||||
print "#else"
|
||||
print "#undef TERMIOS"
|
||||
print "#include <sgtty.h>"
|
||||
print "#include <sys/ioctl.h>"
|
||||
print "#define TTY struct sgttyb"
|
||||
print "#endif /* MINGW32 */"
|
||||
print "#endif /* HAVE_TERMIO_H */"
|
||||
print ""
|
||||
print "#endif /* HAVE_TERMIOS_H */"
|
||||
print ""
|
||||
print "#ifdef TERMIOS"
|
||||
print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
|
||||
print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
|
||||
print "#else"
|
||||
print "#define GET_TTY(fd, buf) gtty(fd, buf)"
|
||||
print "#define SET_TTY(fd, buf) stty(fd, buf)"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#define NAMESIZE 256"
|
||||
print ""
|
||||
print "/* The cast works because TERMTYPE is the first data in TERMINAL */"
|
||||
print "#define CUR ((TERMTYPE *)(cur_term))->"
|
||||
print ""
|
||||
}
|
||||
BEGIN {
|
||||
lcurl = "{";
|
||||
rcurl = "}";
|
||||
print "/****************************************************************************"
|
||||
print " * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc. *"
|
||||
print " * *"
|
||||
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
|
||||
print " * copy of this software and associated documentation files (the *"
|
||||
print " * \"Software\"), to deal in the Software without restriction, including *"
|
||||
print " * without limitation the rights to use, copy, modify, merge, publish, *"
|
||||
print " * distribute, distribute with modifications, sublicense, and/or sell *"
|
||||
print " * copies of the Software, and to permit persons to whom the Software is *"
|
||||
print " * furnished to do so, subject to the following conditions: *"
|
||||
print " * *"
|
||||
print " * The above copyright notice and this permission notice shall be included *"
|
||||
print " * in all copies or substantial portions of the Software. *"
|
||||
print " * *"
|
||||
print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *"
|
||||
print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *"
|
||||
print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *"
|
||||
print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *"
|
||||
print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *"
|
||||
print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *"
|
||||
print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *"
|
||||
print " * *"
|
||||
print " * Except as contained in this notice, the name(s) of the above copyright *"
|
||||
print " * holders shall not be used in advertising or otherwise to promote the *"
|
||||
print " * sale, use or other dealings in this Software without prior written *"
|
||||
print " * authorization. *"
|
||||
print " ****************************************************************************/"
|
||||
print ""
|
||||
print "/****************************************************************************/"
|
||||
print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */"
|
||||
print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */"
|
||||
print "/* and: Thomas E. Dickey 1995-on */"
|
||||
print "/****************************************************************************/"
|
||||
print ""
|
||||
print "/* $Id: MKterm.h.awk.in,v 1.66 2017/04/03 08:16:54 tom Exp $ */"
|
||||
print ""
|
||||
print "/*"
|
||||
print "** term.h -- Definition of struct term"
|
||||
print "*/"
|
||||
print ""
|
||||
print "#ifndef NCURSES_TERM_H_incl"
|
||||
print "#define NCURSES_TERM_H_incl 1"
|
||||
print ""
|
||||
print "#undef NCURSES_VERSION"
|
||||
print "#define NCURSES_VERSION \"@NCURSES_MAJOR@.@NCURSES_MINOR@\""
|
||||
print ""
|
||||
print "#include <ncurses_dll.h>"
|
||||
print ""
|
||||
print "#ifdef __cplusplus"
|
||||
printf "extern \"C\" %s\n", lcurl;
|
||||
print "#endif"
|
||||
print ""
|
||||
print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
|
||||
print " * definition (based on the system for which this was configured)."
|
||||
print " */"
|
||||
print ""
|
||||
print "#undef NCURSES_CONST"
|
||||
print "#define NCURSES_CONST @NCURSES_CONST@"
|
||||
print ""
|
||||
print "#undef NCURSES_SBOOL"
|
||||
print "#define NCURSES_SBOOL @NCURSES_SBOOL@"
|
||||
print ""
|
||||
print "#undef NCURSES_USE_DATABASE"
|
||||
print "#define NCURSES_USE_DATABASE @NCURSES_USE_DATABASE@"
|
||||
print ""
|
||||
print "#undef NCURSES_USE_TERMCAP"
|
||||
print "#define NCURSES_USE_TERMCAP @NCURSES_USE_TERMCAP@"
|
||||
print ""
|
||||
print "#undef NCURSES_XNAMES"
|
||||
print "#define NCURSES_XNAMES @NCURSES_XNAMES@"
|
||||
print ""
|
||||
print "/* We will use these symbols to hide differences between"
|
||||
print " * termios/termio/sgttyb interfaces."
|
||||
print " */"
|
||||
print "#undef TTY"
|
||||
print "#undef SET_TTY"
|
||||
print "#undef GET_TTY"
|
||||
print ""
|
||||
print "/* Assume POSIX termio if we have the header and function */"
|
||||
print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
|
||||
print "#if @HAVE_TERMIOS_H@ && @HAVE_TCGETATTR@"
|
||||
print ""
|
||||
print "#undef TERMIOS"
|
||||
print "#define TERMIOS 1"
|
||||
print ""
|
||||
print "#include <termios.h>"
|
||||
print "#define TTY struct termios"
|
||||
print ""
|
||||
print "#else /* !HAVE_TERMIOS_H */"
|
||||
print ""
|
||||
print "/* #if HAVE_TERMIO_H */"
|
||||
print "#if @HAVE_TERMIO_H@"
|
||||
print ""
|
||||
print "#undef TERMIOS"
|
||||
print "#define TERMIOS 1"
|
||||
print ""
|
||||
print "#include <termio.h>"
|
||||
print "#define TTY struct termio"
|
||||
print ""
|
||||
print "#else /* !HAVE_TERMIO_H */"
|
||||
print ""
|
||||
print "#if __MINGW32__"
|
||||
print "# include <ncurses_mingw.h>"
|
||||
print "# define TTY struct termios"
|
||||
print "#else"
|
||||
print "#undef TERMIOS"
|
||||
print "#include <sgtty.h>"
|
||||
print "#include <sys/ioctl.h>"
|
||||
print "#define TTY struct sgttyb"
|
||||
print "#endif /* MINGW32 */"
|
||||
print "#endif /* HAVE_TERMIO_H */"
|
||||
print ""
|
||||
print "#endif /* HAVE_TERMIOS_H */"
|
||||
print ""
|
||||
print "#ifdef TERMIOS"
|
||||
print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
|
||||
print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
|
||||
print "#else"
|
||||
print "#define GET_TTY(fd, buf) gtty(fd, buf)"
|
||||
print "#define SET_TTY(fd, buf) stty(fd, buf)"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#define NAMESIZE 256"
|
||||
print ""
|
||||
print "/* The cast works because TERMTYPE is the first data in TERMINAL */"
|
||||
print "#define CUR ((TERMTYPE *)(cur_term))->"
|
||||
print ""
|
||||
}
|
||||
|
||||
$2 == "%%-STOP-HERE-%%" {
|
||||
print ""
|
||||
printf "#define BOOLWRITE %d\n", BoolCount
|
||||
printf "#define NUMWRITE %d\n", NumberCount
|
||||
printf "#define STRWRITE %d\n", StringCount
|
||||
print ""
|
||||
print "/* older synonyms for some capabilities */"
|
||||
print "#define beehive_glitch no_esc_ctlc"
|
||||
print "#define teleray_glitch dest_tabs_magic_smso"
|
||||
print "#define micro_char_size micro_col_size"
|
||||
print ""
|
||||
print "#ifdef __INTERNAL_CAPS_VISIBLE"
|
||||
}
|
||||
$2 == "%%-STOP-HERE-%%" {
|
||||
print ""
|
||||
printf "#define BOOLWRITE %d\n", BoolCount
|
||||
printf "#define NUMWRITE %d\n", NumberCount
|
||||
printf "#define STRWRITE %d\n", StringCount
|
||||
print ""
|
||||
print "/* older synonyms for some capabilities */"
|
||||
print "#define beehive_glitch no_esc_ctlc"
|
||||
print "#define teleray_glitch dest_tabs_magic_smso"
|
||||
print "#define micro_char_size micro_col_size"
|
||||
print ""
|
||||
print "#ifdef __INTERNAL_CAPS_VISIBLE"
|
||||
}
|
||||
|
||||
/^#/ {next;}
|
||||
/^#/ {
|
||||
next;
|
||||
}
|
||||
|
||||
$1 == "acs_chars" {acsindex = StringCount}
|
||||
$1 == "acs_chars" {
|
||||
acsindex = StringCount;
|
||||
}
|
||||
|
||||
$3 == "bool" {
|
||||
printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
|
||||
}
|
||||
$3 == "bool" {
|
||||
printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
|
||||
}
|
||||
|
||||
$3 == "num" {
|
||||
printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
|
||||
}
|
||||
$3 == "num" {
|
||||
printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
|
||||
}
|
||||
|
||||
$3 == "str" {
|
||||
printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
|
||||
}
|
||||
$3 == "str" {
|
||||
printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
|
||||
}
|
||||
|
||||
END {
|
||||
print "#endif /* __INTERNAL_CAPS_VISIBLE */"
|
||||
print ""
|
||||
print ""
|
||||
print "/*"
|
||||
print " * Predefined terminfo array sizes"
|
||||
print " */"
|
||||
printf "#define BOOLCOUNT %d\n", BoolCount
|
||||
printf "#define NUMCOUNT %d\n", NumberCount
|
||||
printf "#define STRCOUNT %d\n", StringCount
|
||||
print ""
|
||||
print "/* used by code for comparing entries */"
|
||||
print "#define acs_chars_index ", acsindex
|
||||
print ""
|
||||
print "typedef struct termtype { /* in-core form of terminfo data */"
|
||||
print " char *term_names; /* str_table offset of term names */"
|
||||
print " char *str_table; /* pointer to string table */"
|
||||
print " NCURSES_SBOOL *Booleans; /* array of boolean values */"
|
||||
print " short *Numbers; /* array of integer values */"
|
||||
print " char **Strings; /* array of string offsets */"
|
||||
print ""
|
||||
print "#if NCURSES_XNAMES"
|
||||
print " char *ext_str_table; /* pointer to extended string table */"
|
||||
print " char **ext_Names; /* corresponding names */"
|
||||
print ""
|
||||
print " unsigned short num_Booleans;/* count total Booleans */"
|
||||
print " unsigned short num_Numbers; /* count total Numbers */"
|
||||
print " unsigned short num_Strings; /* count total Strings */"
|
||||
print ""
|
||||
print " unsigned short ext_Booleans;/* count extensions to Booleans */"
|
||||
print " unsigned short ext_Numbers; /* count extensions to Numbers */"
|
||||
print " unsigned short ext_Strings; /* count extensions to Strings */"
|
||||
print "#endif /* NCURSES_XNAMES */"
|
||||
print ""
|
||||
print "} TERMTYPE;"
|
||||
print ""
|
||||
print "/*"
|
||||
print " * The only reason these structures are visible is for read-only use."
|
||||
print " * Programs which modify the data are not, never were, portable across"
|
||||
print " * curses implementations."
|
||||
print " */"
|
||||
print "#ifdef NCURSES_INTERNALS"
|
||||
print "typedef struct term { /* describe an actual terminal */"
|
||||
print " TERMTYPE type; /* terminal type description */"
|
||||
print " short Filedes; /* file description being written to */"
|
||||
print " TTY Ottyb; /* original state of the terminal */"
|
||||
print " TTY Nttyb; /* current state of the terminal */"
|
||||
print " int _baudrate; /* used to compute padding */"
|
||||
print " char * _termname; /* used for termname() */"
|
||||
print "} TERMINAL;"
|
||||
print "#else"
|
||||
print "typedef struct term TERMINAL;"
|
||||
print "#endif /* NCURSES_INTERNALS */"
|
||||
print ""
|
||||
print ""
|
||||
print "#if @BROKEN_LINKER@ && !@cf_cv_enable_reentrant@"
|
||||
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
|
||||
print "#elif @cf_cv_enable_reentrant@"
|
||||
print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
|
||||
print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
|
||||
print ""
|
||||
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
|
||||
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
|
||||
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
|
||||
print "#define numnames NCURSES_PUBLIC_VAR(numnames())"
|
||||
print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())"
|
||||
print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())"
|
||||
print "#define strnames NCURSES_PUBLIC_VAR(strnames())"
|
||||
print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())"
|
||||
print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())"
|
||||
print ""
|
||||
print "#else"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
|
||||
print ""
|
||||
print "#endif"
|
||||
print ""
|
||||
print "/*"
|
||||
print " * These entrypoints are used only by the ncurses utilities such as tic."
|
||||
print " */"
|
||||
print "#ifdef NCURSES_INTERNALS"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
|
||||
print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);"
|
||||
print "extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE *const);"
|
||||
print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE *, char *, int);"
|
||||
print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
|
||||
print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
|
||||
print ""
|
||||
print "#endif /* NCURSES_INTERNALS */"
|
||||
print ""
|
||||
print ""
|
||||
print "/*"
|
||||
print " * These entrypoints are used by tack."
|
||||
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 "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
|
||||
print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
|
||||
print ""
|
||||
print "/* miscellaneous entry points */"
|
||||
print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
|
||||
print "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);"
|
||||
print ""
|
||||
print "/* terminfo entry points, also declared in curses.h */"
|
||||
print "#if !defined(__NCURSES_H)"
|
||||
print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
|
||||
print "extern NCURSES_EXPORT(int) putp (const char *);"
|
||||
print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
|
||||
print ""
|
||||
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
|
||||
print ""
|
||||
print "#endif /* __NCURSES_H */"
|
||||
print ""
|
||||
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
|
||||
print "#if !defined(NCURSES_TERMCAP_H_incl)"
|
||||
print "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);"
|
||||
print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
|
||||
print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
|
||||
print "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
|
||||
print "#endif /* NCURSES_TERMCAP_H_incl */"
|
||||
print ""
|
||||
print "/*"
|
||||
print " * Include curses.h before term.h to enable these extensions."
|
||||
print " */"
|
||||
print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);"
|
||||
print ""
|
||||
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_CONST char *, char **);"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
|
||||
print "#endif /* NCURSES_SP_FUNCS */"
|
||||
print ""
|
||||
print "#ifdef __cplusplus"
|
||||
print "}"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#endif /* NCURSES_TERM_H_incl */"
|
||||
}
|
||||
END {
|
||||
print "#endif /* __INTERNAL_CAPS_VISIBLE */"
|
||||
print ""
|
||||
print ""
|
||||
print "/*"
|
||||
print " * Predefined terminfo array sizes"
|
||||
print " */"
|
||||
printf "#define BOOLCOUNT %d\n", BoolCount
|
||||
printf "#define NUMCOUNT %d\n", NumberCount
|
||||
printf "#define STRCOUNT %d\n", StringCount
|
||||
print ""
|
||||
print "/* used by code for comparing entries */"
|
||||
print "#define acs_chars_index ", acsindex
|
||||
print ""
|
||||
print "typedef struct termtype { /* in-core form of terminfo data */"
|
||||
print " char *term_names; /* str_table offset of term names */"
|
||||
print " char *str_table; /* pointer to string table */"
|
||||
print " NCURSES_SBOOL *Booleans; /* array of boolean values */"
|
||||
print " short *Numbers; /* array of integer values */"
|
||||
print " char **Strings; /* array of string offsets */"
|
||||
print ""
|
||||
print "#if NCURSES_XNAMES"
|
||||
print " char *ext_str_table; /* pointer to extended string table */"
|
||||
print " char **ext_Names; /* corresponding names */"
|
||||
print ""
|
||||
print " unsigned short num_Booleans;/* count total Booleans */"
|
||||
print " unsigned short num_Numbers; /* count total Numbers */"
|
||||
print " unsigned short num_Strings; /* count total Strings */"
|
||||
print ""
|
||||
print " unsigned short ext_Booleans;/* count extensions to Booleans */"
|
||||
print " unsigned short ext_Numbers; /* count extensions to Numbers */"
|
||||
print " unsigned short ext_Strings; /* count extensions to Strings */"
|
||||
print "#endif /* NCURSES_XNAMES */"
|
||||
print ""
|
||||
print "} TERMTYPE;"
|
||||
print ""
|
||||
print "/*"
|
||||
print " * The only reason these structures are visible is for read-only use."
|
||||
print " * Programs which modify the data are not, never were, portable across"
|
||||
print " * curses implementations."
|
||||
print " */"
|
||||
print "#ifdef NCURSES_INTERNALS"
|
||||
print "typedef struct term { /* describe an actual terminal */"
|
||||
print " TERMTYPE type; /* terminal type description */"
|
||||
print " short Filedes; /* file description being written to */"
|
||||
print " TTY Ottyb; /* original state of the terminal */"
|
||||
print " TTY Nttyb; /* current state of the terminal */"
|
||||
print " int _baudrate; /* used to compute padding */"
|
||||
print " char * _termname; /* used for termname() */"
|
||||
print "} TERMINAL;"
|
||||
print "#else"
|
||||
print "typedef struct term TERMINAL;"
|
||||
print "#endif /* NCURSES_INTERNALS */"
|
||||
print ""
|
||||
print ""
|
||||
print "#if @BROKEN_LINKER@ && !@cf_cv_enable_reentrant@"
|
||||
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
|
||||
print "#elif @cf_cv_enable_reentrant@"
|
||||
print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
|
||||
print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
|
||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
|
||||
print ""
|
||||
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
|
||||
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
|
||||
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
|
||||
print "#define numnames NCURSES_PUBLIC_VAR(numnames())"
|
||||
print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())"
|
||||
print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())"
|
||||
print "#define strnames NCURSES_PUBLIC_VAR(strnames())"
|
||||
print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())"
|
||||
print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())"
|
||||
print ""
|
||||
print "#else"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
|
||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
|
||||
print ""
|
||||
print "#endif"
|
||||
print ""
|
||||
print "/*"
|
||||
print " * These entrypoints are used only by the ncurses utilities such as tic."
|
||||
print " */"
|
||||
print "#ifdef NCURSES_INTERNALS"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
|
||||
print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);"
|
||||
print "extern NCURSES_EXPORT(void) _nc_init_termtype (TERMTYPE *const);"
|
||||
print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE *, char *, int);"
|
||||
print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
|
||||
print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
|
||||
print ""
|
||||
print "#endif /* NCURSES_INTERNALS */"
|
||||
print ""
|
||||
print ""
|
||||
print "/*"
|
||||
print " * These entrypoints are used by tack."
|
||||
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 "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
|
||||
print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
|
||||
print ""
|
||||
print "/* miscellaneous entry points */"
|
||||
print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
|
||||
print "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);"
|
||||
print ""
|
||||
print "/* terminfo entry points, also declared in curses.h */"
|
||||
print "#if !defined(__NCURSES_H)"
|
||||
print "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
|
||||
print "extern NCURSES_EXPORT(int) putp (const char *);"
|
||||
print "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
|
||||
print ""
|
||||
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
|
||||
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
|
||||
print ""
|
||||
print "#endif /* __NCURSES_H */"
|
||||
print ""
|
||||
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
|
||||
print "#if !defined(NCURSES_TERMCAP_H_incl)"
|
||||
print "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);"
|
||||
print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
|
||||
print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
|
||||
print "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
|
||||
print "#endif /* NCURSES_TERMCAP_H_incl */"
|
||||
print ""
|
||||
print "/*"
|
||||
print " * Include curses.h before term.h to enable these extensions."
|
||||
print " */"
|
||||
print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);"
|
||||
print ""
|
||||
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
|
||||
print "#else"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
|
||||
print "#endif"
|
||||
print ""
|
||||
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, NCURSES_CONST char *, char **);"
|
||||
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_CONST char *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
|
||||
print ""
|
||||
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
|
||||
print "#endif /* NCURSES_SP_FUNCS */"
|
||||
print ""
|
||||
print "#ifdef __cplusplus"
|
||||
printf "%s\n", rcurl;
|
||||
print "#endif"
|
||||
print ""
|
||||
print "#endif /* NCURSES_TERM_H_incl */"
|
||||
}
|
||||
|
@ -32,7 +32,7 @@
|
||||
* and: Thomas E. Dickey 1998-on *
|
||||
****************************************************************************/
|
||||
|
||||
/* $Id: term_entry.h,v 1.49 2017/03/18 18:52:12 tom Exp $ */
|
||||
/* $Id: term_entry.h,v 1.54 2017/04/03 21:36:00 tom Exp $ */
|
||||
|
||||
/*
|
||||
* term_entry.h -- interface to entry-manipulation code
|
||||
@ -40,6 +40,7 @@
|
||||
|
||||
#ifndef NCURSES_TERM_ENTRY_H_incl
|
||||
#define NCURSES_TERM_ENTRY_H_incl 1
|
||||
/* *INDENT-OFF* */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -47,46 +48,9 @@ extern "C" {
|
||||
|
||||
#include <term.h>
|
||||
|
||||
/*
|
||||
* see db_iterator.c - this enumeration lists the places searched for a
|
||||
* terminal description and defines the order in which they are searched.
|
||||
*/
|
||||
typedef enum {
|
||||
dbdTIC = 0, /* special, used by tic when writing entry */
|
||||
#if NCURSES_USE_DATABASE
|
||||
dbdEnvOnce, /* the $TERMINFO environment variable */
|
||||
dbdHome, /* $HOME/.terminfo */
|
||||
dbdEnvList, /* the $TERMINFO_DIRS environment variable */
|
||||
dbdCfgList, /* the compiled-in TERMINFO_DIRS value */
|
||||
dbdCfgOnce, /* the compiled-in TERMINFO value */
|
||||
#endif
|
||||
#if NCURSES_USE_TERMCAP
|
||||
dbdEnvOnce2, /* the $TERMCAP environment variable */
|
||||
dbdEnvList2, /* the $TERMPATH environment variable */
|
||||
dbdCfgList2, /* the compiled-in TERMPATH */
|
||||
#endif
|
||||
dbdLAST
|
||||
} DBDIRS;
|
||||
|
||||
#define MAX_USES 32
|
||||
#define MAX_CROSSLINKS 16
|
||||
|
||||
typedef struct entry {
|
||||
TERMTYPE tterm;
|
||||
unsigned nuses;
|
||||
struct {
|
||||
char *name;
|
||||
struct entry *link;
|
||||
long line;
|
||||
} uses[MAX_USES];
|
||||
int ncrosslinks;
|
||||
struct entry *crosslinks[MAX_CROSSLINKS];
|
||||
long cstart, cend;
|
||||
long startline;
|
||||
struct entry *next;
|
||||
struct entry *last;
|
||||
} ENTRY;
|
||||
/* *INDENT-OFF* */
|
||||
/*
|
||||
* These macros may be used by programs that know about TERMTYPE:
|
||||
*/
|
||||
#if NCURSES_XNAMES
|
||||
#define NUM_BOOLEANS(tp) (tp)->num_Booleans
|
||||
#define NUM_NUMBERS(tp) (tp)->num_Numbers
|
||||
@ -115,6 +79,58 @@ extern "C" {
|
||||
#define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
|
||||
#define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
|
||||
|
||||
/*
|
||||
* The remaining type-definitions and macros are used only internally by the
|
||||
* ncurses utilities.
|
||||
*/
|
||||
#ifdef NCURSES_INTERNALS
|
||||
|
||||
/*
|
||||
* see db_iterator.c - this enumeration lists the places searched for a
|
||||
* terminal description and defines the order in which they are searched.
|
||||
*/
|
||||
typedef enum {
|
||||
dbdTIC = 0, /* special, used by tic when writing entry */
|
||||
#if NCURSES_USE_DATABASE
|
||||
dbdEnvOnce, /* the $TERMINFO environment variable */
|
||||
dbdHome, /* $HOME/.terminfo */
|
||||
dbdEnvList, /* the $TERMINFO_DIRS environment variable */
|
||||
dbdCfgList, /* the compiled-in TERMINFO_DIRS value */
|
||||
dbdCfgOnce, /* the compiled-in TERMINFO value */
|
||||
#endif
|
||||
#if NCURSES_USE_TERMCAP
|
||||
dbdEnvOnce2, /* the $TERMCAP environment variable */
|
||||
dbdEnvList2, /* the $TERMPATH environment variable */
|
||||
dbdCfgList2, /* the compiled-in TERMPATH */
|
||||
#endif
|
||||
dbdLAST
|
||||
} DBDIRS;
|
||||
|
||||
#define MAX_USES 32
|
||||
#define MAX_CROSSLINKS 16
|
||||
|
||||
typedef struct entry ENTRY;
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
ENTRY *link;
|
||||
long line;
|
||||
} ENTRY_USES;
|
||||
|
||||
struct entry {
|
||||
TERMTYPE tterm;
|
||||
int *XNumbers; /* array of integer values */
|
||||
unsigned nuses;
|
||||
ENTRY_USES uses[MAX_USES];
|
||||
int ncrosslinks;
|
||||
ENTRY *crosslinks[MAX_CROSSLINKS];
|
||||
long cstart;
|
||||
long cend;
|
||||
long startline;
|
||||
ENTRY *next;
|
||||
ENTRY *last;
|
||||
};
|
||||
|
||||
extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
|
||||
extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
|
||||
#define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next)
|
||||
@ -131,7 +147,10 @@ extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
|
||||
#define PRESENT(s) (((s) != ABSENT_STRING) && ((s) != CANCELLED_STRING))
|
||||
|
||||
#define ANDMISSING(p,q) \
|
||||
{if (PRESENT(p) && !PRESENT(q)) _nc_warning(#p " but no " #q);}
|
||||
{ \
|
||||
if (PRESENT(p) && !PRESENT(q)) \
|
||||
_nc_warning(#p " but no " #q); \
|
||||
}
|
||||
|
||||
#define PAIRED(p,q) \
|
||||
{ \
|
||||
@ -144,7 +163,6 @@ extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
|
||||
/*
|
||||
* These entrypoints are used only by the ncurses utilities such as tic.
|
||||
*/
|
||||
#ifdef NCURSES_INTERNALS
|
||||
|
||||
/* alloc_entry.c: elementary allocation code */
|
||||
extern NCURSES_EXPORT(ENTRY *) _nc_copy_entry (ENTRY *oldp);
|
||||
@ -199,9 +217,10 @@ extern NCURSES_EXPORT(void) _nc_init_acs (void); /* corresponds to traditional '
|
||||
/* free_ttype.c: elementary allocation code */
|
||||
extern NCURSES_EXPORT(void) _nc_free_termtype (TERMTYPE *);
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* NCURSES_TERM_ENTRY_H_incl */
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
#endif /* NCURSES_TERM_ENTRY_H_incl */
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
#include <tic.h>
|
||||
|
||||
MODULE_ID("$Id: lib_newterm.c,v 1.95 2017/04/01 12:53:35 tom Exp $")
|
||||
MODULE_ID("$Id: lib_newterm.c,v 1.96 2017/04/02 14:26:18 tom Exp $")
|
||||
|
||||
#ifdef USE_TERM_DRIVER
|
||||
#define NumLabels InfoOf(SP_PARM).numlabels
|
||||
@ -76,7 +76,7 @@ _nc_initscr(NCURSES_SP_DCL0)
|
||||
|
||||
/* for extended XPG4 conformance requires cbreak() at this point */
|
||||
/* (SVr4 curses does this anyway) */
|
||||
T((T_CALLED("_nc_initscr(%p) ->term %p"), (void *) SP_PARM, term));
|
||||
T((T_CALLED("_nc_initscr(%p) ->term %p"), (void *) SP_PARM, (void *) term));
|
||||
if (NCURSES_SP_NAME(cbreak) (NCURSES_SP_ARG) == OK) {
|
||||
TTY buf;
|
||||
|
||||
|
@ -47,7 +47,7 @@
|
||||
#define CUR SP_TERMTYPE
|
||||
#endif
|
||||
|
||||
MODULE_ID("$Id: lib_set_term.c,v 1.158 2017/04/01 13:51:59 tom Exp $")
|
||||
MODULE_ID("$Id: lib_set_term.c,v 1.159 2017/04/02 14:26:18 tom Exp $")
|
||||
|
||||
#ifdef USE_TERM_DRIVER
|
||||
#define MaxColors InfoOf(sp).maxcolors
|
||||
@ -307,7 +307,7 @@ NCURSES_SP_NAME(_nc_setupscreen) (
|
||||
|
||||
if (!sp) {
|
||||
sp = _nc_alloc_screen_sp();
|
||||
T(("_nc_alloc_screen_sp %p", sp));
|
||||
T(("_nc_alloc_screen_sp %p", (void *) sp));
|
||||
*spp = sp;
|
||||
}
|
||||
if (!sp
|
||||
|
@ -48,7 +48,7 @@
|
||||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
MODULE_ID("$Id: lib_setup.c,v 1.173 2017/04/01 13:48:38 tom Exp $")
|
||||
MODULE_ID("$Id: lib_setup.c,v 1.174 2017/04/02 14:26:18 tom Exp $")
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
@ -825,7 +825,7 @@ new_prescr(void)
|
||||
T((T_CALLED("new_prescr()")));
|
||||
|
||||
sp = _nc_alloc_screen_sp();
|
||||
T(("_nc_alloc_screen_sp %p", sp));
|
||||
T(("_nc_alloc_screen_sp %p", (void *) sp));
|
||||
if (sp != 0) {
|
||||
sp->rsp = sp->rippedoff;
|
||||
sp->_filtered = _nc_prescreen.filter_mode;
|
||||
|
@ -41,7 +41,7 @@
|
||||
#define CUR SP_TERMTYPE
|
||||
#endif
|
||||
|
||||
MODULE_ID("$Id: lib_ttyflags.c,v 1.32 2017/04/01 11:48:03 tom Exp $")
|
||||
MODULE_ID("$Id: lib_ttyflags.c,v 1.33 2017/04/02 14:30:26 tom Exp $")
|
||||
|
||||
NCURSES_EXPORT(int)
|
||||
NCURSES_SP_NAME(_nc_get_tty_mode) (NCURSES_SP_DCLx TTY * buf)
|
||||
@ -141,7 +141,8 @@ NCURSES_SP_NAME(def_shell_mode) (NCURSES_SP_DCL0)
|
||||
int rc = ERR;
|
||||
TERMINAL *termp = TerminalOf(SP_PARM);
|
||||
|
||||
T((T_CALLED("def_shell_mode(%p) ->term %p"), (void *) SP_PARM, termp));
|
||||
T((T_CALLED("def_shell_mode(%p) ->term %p"),
|
||||
(void *) SP_PARM, (void *) termp));
|
||||
|
||||
if (termp != 0) {
|
||||
#ifdef USE_TERM_DRIVER
|
||||
@ -179,7 +180,7 @@ NCURSES_SP_NAME(def_prog_mode) (NCURSES_SP_DCL0)
|
||||
int rc = ERR;
|
||||
TERMINAL *termp = TerminalOf(SP_PARM);
|
||||
|
||||
T((T_CALLED("def_prog_mode(%p) ->term %p"), (void *) SP_PARM, termp));
|
||||
T((T_CALLED("def_prog_mode(%p) ->term %p"), (void *) SP_PARM, (void *) termp));
|
||||
|
||||
if (termp != 0) {
|
||||
#ifdef USE_TERM_DRIVER
|
||||
@ -215,7 +216,7 @@ NCURSES_SP_NAME(reset_prog_mode) (NCURSES_SP_DCL0)
|
||||
int rc = ERR;
|
||||
TERMINAL *termp = TerminalOf(SP_PARM);
|
||||
|
||||
T((T_CALLED("reset_prog_mode(%p) ->term %p"), (void *) SP_PARM, termp));
|
||||
T((T_CALLED("reset_prog_mode(%p) ->term %p"), (void *) SP_PARM, (void *) termp));
|
||||
|
||||
if (termp != 0) {
|
||||
#ifdef USE_TERM_DRIVER
|
||||
@ -247,7 +248,8 @@ NCURSES_SP_NAME(reset_shell_mode) (NCURSES_SP_DCL0)
|
||||
int rc = ERR;
|
||||
TERMINAL *termp = TerminalOf(SP_PARM);
|
||||
|
||||
T((T_CALLED("reset_shell_mode(%p) ->term %p"), (void *) SP_PARM, termp));
|
||||
T((T_CALLED("reset_shell_mode(%p) ->term %p"),
|
||||
(void *) SP_PARM, (void *) termp));
|
||||
|
||||
if (termp != 0) {
|
||||
#ifdef USE_TERM_DRIVER
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2012,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2016,2017 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 *
|
||||
@ -47,7 +47,7 @@
|
||||
#include <ctype.h>
|
||||
#include <tic.h>
|
||||
|
||||
MODULE_ID("$Id: parse_entry.c,v 1.81 2016/05/28 23:22:52 tom Exp $")
|
||||
MODULE_ID("$Id: parse_entry.c,v 1.82 2017/04/03 09:00:45 tom Exp $")
|
||||
|
||||
#ifdef LINT
|
||||
static short const parametrized[] =
|
||||
@ -206,7 +206,7 @@ _nc_extend_names(ENTRY * entryp, char *name, int token_type)
|
||||
#define MAX_NUMBER 0x7fff /* positive shorts only */
|
||||
|
||||
NCURSES_EXPORT(int)
|
||||
_nc_parse_entry(struct entry *entryp, int literal, bool silent)
|
||||
_nc_parse_entry(ENTRY *entryp, int literal, bool silent)
|
||||
{
|
||||
int token_type;
|
||||
struct name_table_entry const *entry_ptr;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2002-2011,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2002-2016,2017 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 *
|
||||
@ -39,7 +39,7 @@
|
||||
|
||||
#include <curses.priv.h>
|
||||
|
||||
MODULE_ID("$Id: lib_ins_wch.c,v 1.21 2016/05/28 22:32:11 tom Exp $")
|
||||
MODULE_ID("$Id: lib_ins_wch.c,v 1.22 2017/04/08 22:52:26 tom Exp $")
|
||||
|
||||
/*
|
||||
* Insert the given character, updating the current location to simplify
|
||||
@ -119,7 +119,7 @@ wins_nwstr(WINDOW *win, const wchar_t *wstr, int n)
|
||||
NCURSES_SIZE_T oy = win->_cury;
|
||||
NCURSES_SIZE_T ox = win->_curx;
|
||||
|
||||
for (cp = wstr; *cp && ((cp - wstr) < n); cp++) {
|
||||
for (cp = wstr; ((cp - wstr) < n) && *cp; cp++) {
|
||||
int len = wcwidth(*cp);
|
||||
|
||||
if ((len >= 0 && len != 1) || !is7bits(*cp)) {
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.0+20170401) unstable; urgency=low
|
||||
ncurses6 (6.0+20170408) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 26 Mar 2017 09:39:03 -0400
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Apr 2017 06:36:57 -0400
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.0+20170401) unstable; urgency=low
|
||||
ncurses6 (6.0+20170408) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 26 Mar 2017 09:39:03 -0400
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Apr 2017 06:36:57 -0400
|
||||
|
||||
ncurses6 (5.9-20131005) unstable; urgency=low
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
ncurses6 (6.0+20170401) unstable; urgency=low
|
||||
ncurses6 (6.0+20170408) unstable; urgency=low
|
||||
|
||||
* latest weekly patch
|
||||
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 26 Mar 2017 09:39:03 -0400
|
||||
-- Thomas E. Dickey <dickey@invisible-island.net> Sun, 02 Apr 2017 06:36:57 -0400
|
||||
|
||||
ncurses6 (5.9-20120608) unstable; urgency=low
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
; $Id: mingw-ncurses.nsi,v 1.205 2017/03/26 13:39:03 tom Exp $
|
||||
; $Id: mingw-ncurses.nsi,v 1.206 2017/04/02 10:36:57 tom Exp $
|
||||
|
||||
; TODO add examples
|
||||
; TODO bump ABI to 6
|
||||
@ -10,7 +10,7 @@
|
||||
!define VERSION_MAJOR "6"
|
||||
!define VERSION_MINOR "0"
|
||||
!define VERSION_YYYY "2017"
|
||||
!define VERSION_MMDD "0401"
|
||||
!define VERSION_MMDD "0408"
|
||||
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}
|
||||
|
||||
!define MY_ABI "5"
|
||||
|
@ -3,7 +3,7 @@
|
||||
Summary: shared libraries for terminal handling
|
||||
Name: mingw32-ncurses6
|
||||
Version: 6.0
|
||||
Release: 20170401
|
||||
Release: 20170408
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
@ -1,7 +1,7 @@
|
||||
Summary: shared libraries for terminal handling
|
||||
Name: ncurses6
|
||||
Version: 6.0
|
||||
Release: 20170401
|
||||
Release: 20170408
|
||||
License: X11
|
||||
Group: Development/Libraries
|
||||
Source: ncurses-%{version}-%{release}.tgz
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 1998-2014,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 1998-2016,2017 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 *
|
||||
@ -34,7 +34,7 @@
|
||||
* v2.0 featuring strict ANSI/POSIX conformance, November 1993.
|
||||
* v2.1 with ncurses mouse support, September 1995
|
||||
*
|
||||
* $Id: bs.c,v 1.64 2016/08/21 00:03:32 tom Exp $
|
||||
* $Id: bs.c,v 1.65 2017/04/08 21:06:16 tom Exp $
|
||||
*/
|
||||
|
||||
#include <test.priv.h>
|
||||
@ -185,6 +185,7 @@ uninitgame(int sig GCC_UNUSED)
|
||||
(void) reset_shell_mode();
|
||||
(void) echo();
|
||||
(void) endwin();
|
||||
free(your_name);
|
||||
ExitProgram(sig ? EXIT_FAILURE : EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
@ -224,7 +225,7 @@ intro(void)
|
||||
(your_name = strdup(tmpname)) != 0) {
|
||||
your_name[0] = (char) toupper(UChar(your_name[0]));
|
||||
} else {
|
||||
your_name = dftname;
|
||||
your_name = strdup(dftname);
|
||||
}
|
||||
|
||||
(void) initscr();
|
||||
|
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: demo_new_pair.c,v 1.10 2017/03/10 09:47:15 tom Exp $
|
||||
* $Id: demo_new_pair.c,v 1.11 2017/04/08 21:48:53 tom Exp $
|
||||
*
|
||||
* Demonstrate the alloc_pair() function.
|
||||
*/
|
||||
@ -36,6 +36,10 @@
|
||||
|
||||
#if HAVE_ALLOC_PAIR && USE_WIDEC_SUPPORT
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#define MAX_BITS 8 /* all but A_ALTCHARSET */
|
||||
#define MAX_ATTR ((1<<MAX_BITS)-1)
|
||||
|
||||
@ -210,6 +214,7 @@ main(int argc, char *argv[])
|
||||
wchar_t wch[2];
|
||||
time_t start = now();
|
||||
long total_cells = 0;
|
||||
FILE *output = 0;
|
||||
|
||||
setlocale(LC_ALL, "");
|
||||
|
||||
@ -233,7 +238,15 @@ main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
if (newterm(NULL, stderr, stdin) == 0)
|
||||
if (isatty(fileno(stderr))) {
|
||||
output = stderr;
|
||||
} else if ((ch = open("/dev/tty", O_WRONLY)) != 0) {
|
||||
output = fdopen(ch, "w");
|
||||
} else {
|
||||
fprintf(stderr, "cannot open terminal for output\n");
|
||||
ExitProgram(EXIT_FAILURE);
|
||||
}
|
||||
if (newterm(NULL, output, stdin) == 0)
|
||||
usage();
|
||||
(void) cbreak(); /* read chars without wait for \n */
|
||||
(void) noecho(); /* don't echo input */
|
||||
|
@ -29,7 +29,7 @@
|
||||
/*
|
||||
* Author: Thomas E. Dickey
|
||||
*
|
||||
* $Id: demo_termcap.c,v 1.52 2017/03/18 22:03:07 tom Exp $
|
||||
* $Id: demo_termcap.c,v 1.53 2017/04/08 19:08:42 tom Exp $
|
||||
*
|
||||
* A simple demo of the termcap interface.
|
||||
*/
|
||||
@ -157,6 +157,7 @@ next_dbitem(void)
|
||||
return result;
|
||||
}
|
||||
|
||||
#if NO_LEAKS
|
||||
static void
|
||||
free_dblist(void)
|
||||
{
|
||||
@ -168,6 +169,7 @@ free_dblist(void)
|
||||
db_list = 0;
|
||||
}
|
||||
}
|
||||
#endif /* NO_LEAKS */
|
||||
|
||||
static void
|
||||
show_string(const char *name, const char *value)
|
||||
@ -715,7 +717,18 @@ copy_code_list(NCURSES_CONST char *const *list)
|
||||
|
||||
return result;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if NO_LEAKS
|
||||
static void
|
||||
free_code_list(char **list)
|
||||
{
|
||||
if (list) {
|
||||
free(list[0]);
|
||||
free(list);
|
||||
}
|
||||
}
|
||||
#endif /* NO_LEAKS */
|
||||
#endif /* USE_CODE_LISTS */
|
||||
|
||||
static void
|
||||
usage(void)
|
||||
@ -875,7 +888,14 @@ main(int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
#if NO_LEAKS
|
||||
free_dblist();
|
||||
#if USE_CODE_LISTS
|
||||
free_code_list(my_boolcodes);
|
||||
free_code_list(my_numcodes);
|
||||
free_code_list(my_strcodes);
|
||||
#endif
|
||||
#endif /* NO_LEAKS */
|
||||
|
||||
ExitProgram(EXIT_SUCCESS);
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
/*
|
||||
* Author: Thomas E. Dickey
|
||||
*
|
||||
* $Id: demo_terminfo.c,v 1.45 2017/03/18 22:03:07 tom Exp $
|
||||
* $Id: demo_terminfo.c,v 1.47 2017/04/09 00:27:42 tom Exp $
|
||||
*
|
||||
* A simple demo of the terminfo interface.
|
||||
*/
|
||||
@ -152,7 +152,7 @@ next_dbitem(void)
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef NO_LEAKS
|
||||
#if NO_LEAKS
|
||||
static void
|
||||
free_dblist(void)
|
||||
{
|
||||
@ -751,7 +751,18 @@ copy_code_list(NCURSES_CONST char *const *list)
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#if NO_LEAKS
|
||||
static void
|
||||
free_code_list(char **list)
|
||||
{
|
||||
if (list) {
|
||||
free(list[0]);
|
||||
free(list);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif /* USE_CODE_LISTS */
|
||||
|
||||
static void
|
||||
usage(void)
|
||||
@ -904,17 +915,26 @@ main(int argc, char *argv[])
|
||||
PLURAL(total_n_values),
|
||||
PLURAL(total_s_values));
|
||||
|
||||
#ifdef NO_LEAKS
|
||||
#if NO_LEAKS
|
||||
free_dblist();
|
||||
if (my_blob != 0) {
|
||||
free(my_blob);
|
||||
free(my_boolcodes);
|
||||
free(my_numcodes);
|
||||
free(my_numvalues);
|
||||
free(my_strcodes);
|
||||
free(my_strvalues);
|
||||
if (input_name != 0) {
|
||||
if (my_blob != 0) {
|
||||
free(my_blob);
|
||||
free(my_boolcodes);
|
||||
free(my_numcodes);
|
||||
free(my_numvalues);
|
||||
free(my_strcodes);
|
||||
free(my_strvalues);
|
||||
}
|
||||
}
|
||||
#if USE_CODE_LISTS
|
||||
else {
|
||||
free_code_list(my_boolcodes);
|
||||
free_code_list(my_numcodes);
|
||||
free_code_list(my_strcodes);
|
||||
}
|
||||
#endif
|
||||
#endif /* NO_LEAKS */
|
||||
|
||||
ExitProgram(EXIT_SUCCESS);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2006-2012,2014 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2006-2014,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: echochar.c,v 1.10 2014/08/09 22:35:51 tom Exp $
|
||||
* $Id: echochar.c,v 1.11 2017/04/08 21:53:51 tom Exp $
|
||||
*
|
||||
* Demonstrate the echochar function (compare to dots.c).
|
||||
* Thomas Dickey - 2006/11/4
|
||||
@ -69,12 +69,14 @@ static void
|
||||
set_color(char *my_pairs, int fg, int bg)
|
||||
{
|
||||
int pair = (fg * COLORS) + bg;
|
||||
if (!my_pairs[pair]) {
|
||||
init_pair((short) pair,
|
||||
(short) fg,
|
||||
(short) bg);
|
||||
if (pair < COLOR_PAIRS) {
|
||||
if (!my_pairs[pair]) {
|
||||
init_pair((short) pair,
|
||||
(short) fg,
|
||||
(short) bg);
|
||||
}
|
||||
attron(COLOR_PAIR(pair));
|
||||
}
|
||||
attron(COLOR_PAIR(pair));
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: extended_color.c,v 1.8 2017/04/01 19:35:18 tom Exp $
|
||||
* $Id: extended_color.c,v 1.9 2017/04/02 14:30:26 tom Exp $
|
||||
*/
|
||||
|
||||
#include <test.priv.h>
|
||||
@ -102,7 +102,7 @@ do_init_color(SCREEN *sp, int color, int adjust)
|
||||
static void
|
||||
do_color_set(const char *expected, int pair)
|
||||
{
|
||||
int i = color_set(pair, NULL);
|
||||
int i = color_set((short) pair, (void *) &pair);
|
||||
printw("%s (%s)\n", expected, SHOW(i));
|
||||
if (i != OK)
|
||||
failed("color_set");
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2002-2014,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2002-2016,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: ins_wide.c,v 1.22 2016/09/10 21:35:02 tom Exp $
|
||||
* $Id: ins_wide.c,v 1.23 2017/04/08 22:14:03 tom Exp $
|
||||
*
|
||||
* Demonstrate the wins_wstr() and wins_wch functions.
|
||||
* Thomas Dickey - 2002/11/23
|
||||
@ -391,6 +391,8 @@ test_inserts(int level)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (length >= BUFSIZ - 2)
|
||||
break;
|
||||
buffer[length++] = (wchar_t) ch;
|
||||
buffer[length] = '\0';
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2002-2012,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2002-2016,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: inserts.c,v 1.28 2016/09/10 21:34:42 tom Exp $
|
||||
* $Id: inserts.c,v 1.29 2017/04/08 22:20:46 tom Exp $
|
||||
*
|
||||
* Demonstrate the winsstr() and winsch functions.
|
||||
* Thomas Dickey - 2002/10/19
|
||||
@ -320,6 +320,8 @@ test_inserts(int level)
|
||||
beep();
|
||||
break;
|
||||
}
|
||||
if (length >= BUFSIZ - 2)
|
||||
break;
|
||||
buffer[length++] = (char) ch;
|
||||
buffer[length] = '\0';
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: list_keys.c,v 1.18 2017/03/18 22:03:07 tom Exp $
|
||||
* $Id: list_keys.c,v 1.19 2017/04/08 22:57:26 tom Exp $
|
||||
*
|
||||
* Author: Thomas E Dickey
|
||||
*
|
||||
@ -159,7 +159,7 @@ show_key(const char *name, bool show)
|
||||
}
|
||||
|
||||
static bool
|
||||
valid_key(const char *name, TERMINAL ** terms, int count)
|
||||
valid_key(const char *name, TERMINAL **terms, int count)
|
||||
{
|
||||
bool result = FALSE;
|
||||
if (*name == 'k') {
|
||||
@ -266,7 +266,7 @@ modified_key(const char *name)
|
||||
}
|
||||
|
||||
static void
|
||||
list_keys(TERMINAL ** terms, int count)
|
||||
list_keys(TERMINAL **terms, int count)
|
||||
{
|
||||
int j, k;
|
||||
int widths0 = 0;
|
||||
@ -486,6 +486,8 @@ main(int argc, char *argv[])
|
||||
list_keys(terms, 1);
|
||||
}
|
||||
|
||||
free(terms);
|
||||
|
||||
ExitProgram(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2006-2012,2013 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2006-2013,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: movewindow.c,v 1.39 2013/05/04 19:41:02 tom Exp $
|
||||
* $Id: movewindow.c,v 1.40 2017/04/08 23:01:47 tom Exp $
|
||||
*
|
||||
* Demonstrate move functions for windows and derived windows from the curses
|
||||
* library.
|
||||
@ -762,5 +762,8 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
|
||||
wmove(current_win, 0, 0);
|
||||
}
|
||||
endwin();
|
||||
#if NO_LEAKS
|
||||
free(all_windows);
|
||||
#endif
|
||||
ExitProgram(EXIT_SUCCESS);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2010-2014,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2009-2016,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: test_add_wchstr.c,v 1.22 2016/09/10 21:28:40 tom Exp $
|
||||
* $Id: test_add_wchstr.c,v 1.23 2017/04/08 23:10:35 tom Exp $
|
||||
*
|
||||
* Demonstrate the waddwchstr() and wadd_wch functions.
|
||||
* Thomas Dickey - 2009/9/12
|
||||
@ -585,6 +585,9 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
|
||||
|
||||
test_add_wchstr(0);
|
||||
endwin();
|
||||
#if NO_LEAKS
|
||||
free(temp_buffer);
|
||||
#endif
|
||||
ExitProgram(EXIT_SUCCESS);
|
||||
}
|
||||
#else
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2009-2012,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2009-2016,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: test_addchstr.c,v 1.19 2016/09/10 21:29:04 tom Exp $
|
||||
* $Id: test_addchstr.c,v 1.20 2017/04/08 23:11:55 tom Exp $
|
||||
*
|
||||
* Demonstrate the waddchstr() and waddch functions.
|
||||
* Thomas Dickey - 2009/9/12
|
||||
@ -515,5 +515,8 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED)
|
||||
|
||||
test_adds(0);
|
||||
endwin();
|
||||
#if NO_LEAKS
|
||||
free(temp_buffer);
|
||||
#endif
|
||||
ExitProgram(EXIT_SUCCESS);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2007,2010 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2007-2010,2017 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 *
|
||||
@ -26,7 +26,7 @@
|
||||
* authorization. *
|
||||
****************************************************************************/
|
||||
/*
|
||||
* $Id: test_instr.c,v 1.5 2010/05/01 19:13:46 tom Exp $
|
||||
* $Id: test_instr.c,v 1.6 2017/04/08 23:21:53 tom Exp $
|
||||
*
|
||||
* Author: Thomas E Dickey
|
||||
*
|
||||
@ -85,6 +85,7 @@ test_inchs(int level, char **argv, WINDOW *chrwin, WINDOW *strwin)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
*buffer = '\0';
|
||||
if (level > 1) {
|
||||
txtbox = newwin(LINES - BASE_Y, COLS - level, BASE_Y, level);
|
||||
box(txtbox, 0, 0);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* Copyright (c) 2015,2016 Free Software Foundation, Inc. *
|
||||
* Copyright (c) 2015-2016,2017 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 *
|
||||
@ -29,7 +29,7 @@
|
||||
/*
|
||||
* Author: Thomas E. Dickey
|
||||
*
|
||||
* $Id: test_sgr.c,v 1.8 2016/09/04 23:30:56 tom Exp $
|
||||
* $Id: test_sgr.c,v 1.10 2017/04/09 00:27:42 tom Exp $
|
||||
*
|
||||
* A simple demo of the sgr/sgr0 terminal capabilities.
|
||||
*/
|
||||
@ -118,7 +118,7 @@ next_dbitem(void)
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef NO_LEAKS
|
||||
#if NO_LEAKS
|
||||
static void
|
||||
free_dblist(void)
|
||||
{
|
||||
@ -286,6 +286,9 @@ brute_force(const char *name)
|
||||
}
|
||||
}
|
||||
}
|
||||
for (count = 0; count < MAXSGR; ++count) {
|
||||
free(values[count]);
|
||||
}
|
||||
}
|
||||
del_curterm(cur_term);
|
||||
}
|
||||
@ -349,7 +352,7 @@ main(int argc, char *argv[])
|
||||
|
||||
printf("%ld distinct values\n", total_values);
|
||||
|
||||
#ifdef NO_LEAKS
|
||||
#if NO_LEAKS
|
||||
free_dblist();
|
||||
#endif
|
||||
|
||||
|
@ -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.
|
||||
|
||||
$Id: worm.c,v 1.66 2016/09/17 21:12:30 tom Exp $
|
||||
$Id: worm.c,v 1.67 2017/04/09 00:27:42 tom Exp $
|
||||
*/
|
||||
|
||||
#include <test.priv.h>
|
||||
@ -608,7 +608,7 @@ main(int argc, char *argv[])
|
||||
|
||||
Trace(("Cleanup"));
|
||||
cleanup();
|
||||
#ifdef NO_LEAKS
|
||||
#if NO_LEAKS
|
||||
for (y = 0; y < max_refs; y++) {
|
||||
free(refs[y]);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user