878 lines
29 KiB
Plaintext
878 lines
29 KiB
Plaintext
---
|
|
aclocal.m4 | 40 ++++++------
|
|
configure | 40 ++++++------
|
|
include/curses.h.in | 3
|
|
include/termcap.h.in | 2
|
|
include/tic.h | 4 -
|
|
man/man_db.renames | 2
|
|
man/ncurses.3x | 4 +
|
|
misc/gen-pkgconfig.in | 8 ++
|
|
misc/terminfo.src | 107 ++++++++++++++++++++++++++++++++++++-------
|
|
ncurses/Makefile.in | 2
|
|
ncurses/curses.priv.h | 2
|
|
ncurses/run_cmd.sh | 11 +++
|
|
ncurses/tinfo/MKfallback.sh | 10 ++-
|
|
ncurses/tinfo/access.c | 28 ++++++++
|
|
ncurses/tinfo/lib_setup.c | 3
|
|
ncurses/tinfo/read_entry.c | 2
|
|
ncurses/tinfo/read_termcap.c | 21 ++++--
|
|
progs/Makefile.in | 4 -
|
|
test/test.priv.h | 4 -
|
|
19 files changed, 231 insertions(+), 68 deletions(-)
|
|
|
|
--- aclocal.m4
|
|
+++ aclocal.m4 2021-01-11 07:35:24.208330490 +0000
|
|
@@ -639,7 +639,7 @@ AC_CHECK_SIZEOF(bool,,[
|
|
AC_CACHE_CHECK(for type of bool, cf_cv_type_of_bool,[
|
|
rm -f cf_test.out
|
|
AC_TRY_RUN([
|
|
-#include <stdlib.h>
|
|
+//#include <stdlib.h> // conflict with exit declaration
|
|
#include <stdio.h>
|
|
|
|
#if defined(__cplusplus)
|
|
@@ -5562,12 +5562,15 @@ cat >>$cf_edit_man <<CF_EOF
|
|
echo "? missing rename for \$cf_source"
|
|
cf_target="\$cf_source"
|
|
fi
|
|
- cf_target="\$cf_subdir\${section}/\${cf_target}"
|
|
-
|
|
CF_EOF
|
|
fi
|
|
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
+for t in \$cf_target; do
|
|
+ t="\$cf_subdir\${section}/\${t}"
|
|
+CF_EOF
|
|
+
|
|
+cat >>$cf_edit_man <<CF_EOF
|
|
sed -f "$cf_man_alias" \\
|
|
CF_EOF
|
|
|
|
@@ -5577,7 +5580,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
CF_EOF
|
|
else
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- < "\$i" >\$TMP
|
|
+ < "\$i" | sed -f $srcdir/edit_man.sed >\$TMP
|
|
CF_EOF
|
|
fi
|
|
|
|
@@ -5617,7 +5620,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
mv \$TMP.$cf_so_strip \$TMP
|
|
fi
|
|
fi
|
|
- cf_target="\$cf_target.$cf_so_strip"
|
|
+ t="\$t.$cf_so_strip"
|
|
CF_EOF
|
|
fi
|
|
|
|
@@ -5626,23 +5629,23 @@ case "$MANPAGE_FORMAT" in
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
if test "\$form" = format ; then
|
|
# BSDI installs only .0 suffixes in the cat directories
|
|
- cf_target="\`echo \$cf_target|sed -e 's/\\.[[1-9]]\\+[[a-z]]*/.0/'\`"
|
|
+ t="\`echo \$t|sed -e 's/\.[[1-9]]\+[[a-z]]*/.0/'\`"
|
|
fi
|
|
CF_EOF
|
|
;;
|
|
esac
|
|
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- suffix=\`basename "\$cf_target" | sed -e 's%^[[^.]]*%%'\`
|
|
+ suffix=\`basename "\$t" | sed -e 's%^[[^.]]*%%'\`
|
|
if test "\$verb" = installing ; then
|
|
- echo "\$verb \$cf_target"
|
|
- \$INSTALL_DATA \$TMP "\$cf_target"
|
|
+ echo "\$verb \$t"
|
|
+ \$INSTALL_DATA \$TMP "\$t"
|
|
test -d "\$cf_subdir\${section}" &&
|
|
test -n "\$aliases" && (
|
|
cd "\$cf_subdir\${section}" && (
|
|
- cf_source=\`echo "\$cf_target" |sed -e 's%^.*/\\([[^/]][[^/]]*/[[^/]][[^/]]*$\\)%\\1%'\`
|
|
+ cf_source=\`echo "\$t" |sed -e 's%^.*/\\([[^/]][[^/]]*/[[^/]][[^/]]*$\\)%\\1%'\`
|
|
test -n "$cf_so_strip" && cf_source=\`echo "\$cf_source" |sed -e 's%\\.$cf_so_strip\$%%'\`
|
|
- cf_target=\`basename "\$cf_target"\`
|
|
+ t=\`basename "\$t"\`
|
|
for cf_alias in \$aliases
|
|
do
|
|
if test "\$section" = 1 ; then
|
|
@@ -5651,7 +5654,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
|
|
if test "$MANPAGE_SYMLINKS" = yes ; then
|
|
if test -f "\$cf_alias\${suffix}" ; then
|
|
- if ( cmp -s "\$cf_target" "\$cf_alias\${suffix}" )
|
|
+ if ( cmp -s "\$t" "\$cf_alias\${suffix}" )
|
|
then
|
|
continue
|
|
fi
|
|
@@ -5661,18 +5664,18 @@ CF_EOF
|
|
case "x$LN_S" in
|
|
(*-f)
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
|
|
+ $LN_S "\$t" "\$cf_alias\${suffix}"
|
|
CF_EOF
|
|
;;
|
|
(*)
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
rm -f "\$cf_alias\${suffix}"
|
|
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
|
|
+ $LN_S "\$t" "\$cf_alias\${suffix}"
|
|
CF_EOF
|
|
;;
|
|
esac
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
|
|
+ elif test "\$t" != "\$cf_alias\${suffix}" ; then
|
|
echo ".so \$cf_source" >\$TMP
|
|
CF_EOF
|
|
if test -n "$cf_compress" ; then
|
|
@@ -5692,9 +5695,9 @@ cat >>$cf_edit_man <<CF_EOF
|
|
)
|
|
)
|
|
elif test "\$verb" = removing ; then
|
|
- test -f "\$cf_target" && (
|
|
- echo "\$verb \$cf_target"
|
|
- rm -f "\$cf_target"
|
|
+ test -f "\$t" && (
|
|
+ echo "\$verb \$t"
|
|
+ rm -f "\$t"
|
|
)
|
|
test -d "\$cf_subdir\${section}" &&
|
|
test -n "\$aliases" && (
|
|
@@ -5714,6 +5717,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
# echo ".hy 0"
|
|
cat \$TMP
|
|
fi
|
|
+done
|
|
;;
|
|
esac
|
|
done
|
|
--- configure
|
|
+++ configure 2021-01-11 07:39:08.776005262 +0000
|
|
@@ -5836,7 +5836,7 @@ echo $ECHO_N "checking for an rpath opti
|
|
fi
|
|
;;
|
|
(linux*|gnu*|k*bsd*-gnu|freebsd*)
|
|
- LD_RPATH_OPT="-Wl,-rpath,"
|
|
+ LD_RPATH_OPT="-Wl,-rpath-link,"
|
|
;;
|
|
(openbsd[2-9].*|mirbsd*)
|
|
LD_RPATH_OPT="-Wl,-rpath,"
|
|
@@ -7438,7 +7438,7 @@ echo "${ECHO_T}$with_pcre2" >&6
|
|
|
|
if test "x$with_pcre2" != xno ; then
|
|
cf_with_pcre2_ok=no
|
|
- for cf_with_pcre2 in libpcre2 libpcre2-posix libpcre
|
|
+ for cf_with_pcre2 in libpcre2 libpcre2-8 libpcre2-posix libpcre
|
|
do
|
|
|
|
if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$cf_with_pcre2"; then
|
|
@@ -14472,12 +14472,15 @@ cat >>$cf_edit_man <<CF_EOF
|
|
echo "? missing rename for \$cf_source"
|
|
cf_target="\$cf_source"
|
|
fi
|
|
- cf_target="\$cf_subdir\${section}/\${cf_target}"
|
|
-
|
|
CF_EOF
|
|
fi
|
|
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
+for t in \$cf_target; do
|
|
+ t="\$cf_subdir\${section}/\${t}"
|
|
+CF_EOF
|
|
+
|
|
+cat >>$cf_edit_man <<CF_EOF
|
|
sed -f "$cf_man_alias" \\
|
|
CF_EOF
|
|
|
|
@@ -14487,7 +14490,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
CF_EOF
|
|
else
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- < "\$i" >\$TMP
|
|
+ < "\$i" | sed -f $srcdir/edit_man.sed >\$TMP
|
|
CF_EOF
|
|
fi
|
|
|
|
@@ -14527,7 +14530,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
mv \$TMP.$cf_so_strip \$TMP
|
|
fi
|
|
fi
|
|
- cf_target="\$cf_target.$cf_so_strip"
|
|
+ t="\$t.$cf_so_strip"
|
|
CF_EOF
|
|
fi
|
|
|
|
@@ -14536,23 +14539,23 @@ case "$MANPAGE_FORMAT" in
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
if test "\$form" = format ; then
|
|
# BSDI installs only .0 suffixes in the cat directories
|
|
- cf_target="\`echo \$cf_target|sed -e 's/\\.[1-9]\\+[a-z]*/.0/'\`"
|
|
+ t="\`echo \$t|sed -e 's/\\.[1-9]\\+[a-z]*/.0/'\`"
|
|
fi
|
|
CF_EOF
|
|
;;
|
|
esac
|
|
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- suffix=\`basename "\$cf_target" | sed -e 's%^[^.]*%%'\`
|
|
+ suffix=\`basename "\$t" | sed -e 's%^[^.]*%%'\`
|
|
if test "\$verb" = installing ; then
|
|
- echo "\$verb \$cf_target"
|
|
- \$INSTALL_DATA \$TMP "\$cf_target"
|
|
+ echo "\$verb \$t"
|
|
+ \$INSTALL_DATA \$TMP "\$t"
|
|
test -d "\$cf_subdir\${section}" &&
|
|
test -n "\$aliases" && (
|
|
cd "\$cf_subdir\${section}" && (
|
|
- cf_source=\`echo "\$cf_target" |sed -e 's%^.*/\\([^/][^/]*/[^/][^/]*$\\)%\\1%'\`
|
|
+ cf_source=\`echo "\$t" |sed -e 's%^.*/\\([^/][^/]*/[^/][^/]*$\\)%\\1%'\`
|
|
test -n "$cf_so_strip" && cf_source=\`echo "\$cf_source" |sed -e 's%\\.$cf_so_strip\$%%'\`
|
|
- cf_target=\`basename "\$cf_target"\`
|
|
+ t=\`basename "\$t"\`
|
|
for cf_alias in \$aliases
|
|
do
|
|
if test "\$section" = 1 ; then
|
|
@@ -14561,7 +14564,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
|
|
if test "$MANPAGE_SYMLINKS" = yes ; then
|
|
if test -f "\$cf_alias\${suffix}" ; then
|
|
- if ( cmp -s "\$cf_target" "\$cf_alias\${suffix}" )
|
|
+ if ( cmp -s "\$t" "\$cf_alias\${suffix}" )
|
|
then
|
|
continue
|
|
fi
|
|
@@ -14571,18 +14574,18 @@ CF_EOF
|
|
case "x$LN_S" in
|
|
(*-f)
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
|
|
+ $LN_S "\$t" "\$cf_alias\${suffix}"
|
|
CF_EOF
|
|
;;
|
|
(*)
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
rm -f "\$cf_alias\${suffix}"
|
|
- $LN_S "\$cf_target" "\$cf_alias\${suffix}"
|
|
+ $LN_S "\$t" "\$cf_alias\${suffix}"
|
|
CF_EOF
|
|
;;
|
|
esac
|
|
cat >>$cf_edit_man <<CF_EOF
|
|
- elif test "\$cf_target" != "\$cf_alias\${suffix}" ; then
|
|
+ elif test "\$t" != "\$cf_alias\${suffix}" ; then
|
|
echo ".so \$cf_source" >\$TMP
|
|
CF_EOF
|
|
if test -n "$cf_compress" ; then
|
|
@@ -14602,9 +14605,9 @@ cat >>$cf_edit_man <<CF_EOF
|
|
)
|
|
)
|
|
elif test "\$verb" = removing ; then
|
|
- test -f "\$cf_target" && (
|
|
- echo "\$verb \$cf_target"
|
|
- rm -f "\$cf_target"
|
|
+ test -f "\$t" && (
|
|
+ echo "\$verb \$t"
|
|
+ rm -f "\$t"
|
|
)
|
|
test -d "\$cf_subdir\${section}" &&
|
|
test -n "\$aliases" && (
|
|
@@ -14624,6 +14627,7 @@ cat >>$cf_edit_man <<CF_EOF
|
|
# echo ".hy 0"
|
|
cat \$TMP
|
|
fi
|
|
+done
|
|
;;
|
|
esac
|
|
done
|
|
--- include/curses.h.in
|
|
+++ include/curses.h.in 2021-01-11 07:27:32.117420019 +0000
|
|
@@ -186,6 +186,9 @@ typedef @cf_cv_typeof_chtype@ chtype;
|
|
typedef @cf_cv_typeof_mmask_t@ mmask_t;
|
|
#endif
|
|
|
|
+#include <features.h>
|
|
+#include <sys/types.h>
|
|
+
|
|
/*
|
|
* We need FILE, etc. Include this before checking any feature symbols.
|
|
*/
|
|
--- include/termcap.h.in
|
|
+++ include/termcap.h.in 2021-01-11 07:27:32.117420019 +0000
|
|
@@ -47,6 +47,8 @@ extern "C"
|
|
{
|
|
#endif /* __cplusplus */
|
|
|
|
+#include <features.h>
|
|
+#include <termios.h>
|
|
#include <sys/types.h>
|
|
|
|
#undef NCURSES_OSPEED
|
|
--- include/tic.h
|
|
+++ include/tic.h 2021-01-11 07:27:32.117420019 +0000
|
|
@@ -237,12 +237,12 @@ struct user_table_entry
|
|
*/
|
|
|
|
/* out-of-band values for representing absent capabilities */
|
|
-#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
|
|
+#define ABSENT_BOOLEAN (-1) /* 255 */
|
|
#define ABSENT_NUMERIC (-1)
|
|
#define ABSENT_STRING (char *)0
|
|
|
|
/* out-of-band values for representing cancels */
|
|
-#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */
|
|
+#define CANCELLED_BOOLEAN (-2) /* 254 */
|
|
#define CANCELLED_NUMERIC (-2)
|
|
#define CANCELLED_STRING (char *)(-1)
|
|
|
|
--- man/man_db.renames
|
|
+++ man/man_db.renames 2021-01-11 07:27:32.117420019 +0000
|
|
@@ -164,6 +164,7 @@ term.7 term.7
|
|
term_variables.3x terminfo_variables.3ncurses
|
|
terminfo.5 terminfo.5
|
|
terminfo.\\\*n terminfo.5
|
|
+curs_terminfo.\\\*n terminfo.5
|
|
tic.1m tic.1
|
|
toe.1m toe.1
|
|
tput.1 tput.1
|
|
@@ -172,6 +173,7 @@ user_caps.5 user_caps.5
|
|
wresize.3x wresize.3ncurses
|
|
#
|
|
# Other:
|
|
+tack.1 tack.1
|
|
tack.1m tack.1
|
|
#
|
|
getty.1 getty.8
|
|
--- man/ncurses.3x
|
|
+++ man/ncurses.3x 2021-01-11 07:27:32.117420019 +0000
|
|
@@ -139,6 +139,10 @@ after the shell environment variable \fB
|
|
[See \fBterminfo\fR(\*n) for further details.]
|
|
.SS Datatypes
|
|
.PP
|
|
+Beware: the terminal your program is running may or may not have
|
|
+the features you expect. Ncurses makes no attempt to check available
|
|
+features in advance. This is upon the programmer.
|
|
+.PP
|
|
The \fBncurses\fR library permits manipulation of data structures,
|
|
called \fIwindows\fR, which can be thought of as two-dimensional
|
|
arrays of characters representing all or part of a CRT screen.
|
|
--- misc/gen-pkgconfig.in
|
|
+++ misc/gen-pkgconfig.in 2021-01-11 07:27:32.117420019 +0000
|
|
@@ -92,6 +92,9 @@ do
|
|
-specs*) # ignore linker specs-files which were used to build library
|
|
continue
|
|
;;
|
|
+ -Wl,--hash-size=*) # ignore hash as gold linker can not do
|
|
+ continue
|
|
+ ;;
|
|
-Wl,-z,*) # ignore flags used to manipulate shared image
|
|
continue
|
|
;;
|
|
@@ -183,6 +186,7 @@ do
|
|
LIBS="-l$name"
|
|
|
|
desc="ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@"
|
|
+ deps=
|
|
reqs=
|
|
|
|
if [ $name = $MAIN_LIBRARY ]; then
|
|
@@ -193,9 +197,11 @@ do
|
|
desc="$desc terminal interface library"
|
|
elif expr $name : ".*${CXX_NAME}.*" >/dev/null ; then
|
|
reqs="$PANEL_LIBRARY${suffix}, $MENU_LIBRARY${suffix}, $FORM_LIBRARY${suffix}, $MAIN_LIBRARY${suffix}"
|
|
+ deps="-l$PANEL_LIBRARY -l$MENU_LIBRARY -l$FORM_LIBRARY -l$MAIN_LIBRARY"
|
|
desc="$desc add-on library"
|
|
else
|
|
reqs="$MAIN_LIBRARY${suffix}"
|
|
+ deps="-l$MAIN_LIBRARY"
|
|
desc="$desc add-on library"
|
|
fi
|
|
|
|
@@ -205,6 +211,8 @@ do
|
|
[ $NEED_TINFO != yes ] ; then
|
|
[ -n "$reqs" ] && reqs="$reqs, "
|
|
reqs="${reqs}${SUB_LIBRARY}${suffix}"
|
|
+ [ -n "$deps" ] && deps="$deps "
|
|
+ deps="${deps}-l${SUB_LIBRARY}"
|
|
fi
|
|
|
|
if [ $name = $MAIN_LIBRARY ]
|
|
--- misc/terminfo.src
|
|
+++ misc/terminfo.src 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -305,7 +305,9 @@ dumb|80-column dumb tty,
|
|
am,
|
|
cols#80,
|
|
bel=^G, cr=\r, cud1=\n, ind=\n,
|
|
-unknown|unknown terminal type,
|
|
+unknown|switch|patch|unknown terminal type,
|
|
+ gn, use=dumb,
|
|
+net|network|arpanet|dialup|unknown network terminal type,
|
|
gn, use=dumb,
|
|
lpr|printer|line printer,
|
|
OTbs, hc, os,
|
|
@@ -1013,9 +1015,15 @@ linux-c|linux console 1.3.6+ for older n
|
|
# The 2.2.x kernels add a private mode that sets the cursor type; use that to
|
|
# get a block cursor for cvvis.
|
|
# reported by Frank Heckenbach <frank@g-n-u.de>.
|
|
+#
|
|
+# Do not use a block cursor, <werner@suse.de>
|
|
+# This because many programs do have a workaround for the long time
|
|
+# missed cvvis entry. A `\E[?1c' in civis will cause a visible but
|
|
+# zero high cusor ... re-add it for kernels 2.6.11+
|
|
+#
|
|
linux2.2|linux 2.2.x console,
|
|
civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
|
|
- cvvis=\E[?25h\E[?8c, use=linux-c-nc,
|
|
+ cvvis=\E[?25h\E[?0c, use=linux-c-nc,
|
|
|
|
# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
|
|
# http://lkml.iu.edu/hypermail/linux/kernel/0602.2/0738.html
|
|
@@ -1048,6 +1056,7 @@ linux2.6|linux 2.6.x console,
|
|
acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
|
|
yzz{{||}}~~,
|
|
enacs=\E)0, rmacs=^O,
|
|
+ cvvis=\E[?25h\E[?8c,
|
|
sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
|
|
%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;,
|
|
sgr0=\E[m\017, smacs=^N, use=linux2.2,
|
|
@@ -5347,8 +5356,26 @@ xterm-noapp|xterm with cursor keys in no
|
|
xterm-24|vs100|xterms|xterm terminal emulator (X Window System),
|
|
lines#24, use=xterm-old,
|
|
|
|
+# For SuSE Linux: Werner Fink <werner@suse.de>
|
|
+# Note that the modern xterm does not use escape sequences
|
|
+# for the numbers on the numpad keys in case of switched
|
|
+# into application mode and with numlock enabled.
|
|
+# To test this, use `tput smkx' and `Ctrl-V + key stroke'
|
|
+xterm-suse|xterm terminal emulator (X.Org X11R7.7 Window System with SuSE LINUX),
|
|
+ kbs=\177, kdch1=\E[3~,
|
|
+ kDIV=\EOo, kMUL=\EOj, kMIN=\EOm, kPLS=\EOk,
|
|
+ kfnd=\E[1~, kslt=\E[4~,
|
|
+ use=xterm-new,
|
|
+
|
|
# This is xterm for ncurses.
|
|
xterm|xterm terminal emulator (X Window System),
|
|
+ use=xterm-suse,
|
|
+
|
|
+# xterm-debian is identical to xterm-new with the addition of a small
|
|
+# VT220-ism regarding the backspace and delete keys; this is mandated by
|
|
+# the keyboard configuration section of the Debian Policy Manual.
|
|
+xterm-debian|Debian xterm (backspace and delete changed),
|
|
+ kbs=\177, kdch1=\E[3~,
|
|
use=xterm-new,
|
|
|
|
# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
|
|
@@ -5693,7 +5720,7 @@ xterms-sun|small (80x24) xterm with sunF
|
|
|
|
#### GNOME (VTE)
|
|
# this describes the alpha-version of Gnome terminal shipped with Redhat 6.0
|
|
-gnome-rh62|Gnome terminal,
|
|
+gnome-rh62|Gnome terminal on Red Hat,
|
|
bce,
|
|
kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
|
|
use=xterm-color,
|
|
@@ -5944,10 +5971,14 @@ mgt|Multi GNOME Terminal,
|
|
#### KDE
|
|
# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
|
|
# or not is debatable).
|
|
-kvt|KDE terminal,
|
|
+kvt-rh|KDE terminal,
|
|
bce, km@,
|
|
kdch1=^?, kend=\E[F, khome=\E[H, use=xterm-color,
|
|
|
|
+# This is kvt for SuSE because we do not support BrokenByDesign[tm].
|
|
+kvt|KDE terminal,
|
|
+ kdch1=\E[3~, use=kvt-rh,
|
|
+
|
|
# Konsole 1.0.1 (2001/11/25)
|
|
# (formerly known as kvt)
|
|
#
|
|
@@ -6199,7 +6230,7 @@ mlterm3|multi lingual terminal emulator,
|
|
mlterm2|multi lingual terminal emulator,
|
|
am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
|
|
colors#8, cols#80, it#8, lines#24, pairs#64,
|
|
- acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
|
+ acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
|
bel=^G, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=\r,
|
|
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
|
|
cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
|
|
@@ -6276,7 +6307,7 @@ rxvt-basic|rxvt terminal base (X Window
|
|
enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
|
|
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
|
|
ind=\n, is1=\E[?47l\E=\E[?1l,
|
|
- is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^H,
|
|
+ is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^?,
|
|
kcbt=\E[Z, kmous=\E[M, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
|
|
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
|
|
rmul=\E[24m,
|
|
@@ -6371,8 +6402,8 @@ rxvt-basic|rxvt terminal base (X Window
|
|
# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
|
|
rxvt+pcfkeys|fragment for PC-style fkeys,
|
|
kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
|
|
- kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
|
|
- kcuf1=\E[C, kcuu1=\E[A, kel=\E[8\^, kend=\E[8~, kf1=\E[11~,
|
|
+ kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\EOD, kcud1=\EOB,
|
|
+ kcuf1=\EOC, kcuu1=\EOA, kel=\E[8\^, kend=\E[8~, kf1=\E[11~,
|
|
kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
|
|
kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
|
|
kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
|
|
@@ -6462,6 +6493,38 @@ rxvt-cygwin-native|rxvt terminal emulato
|
|
\302x\263y\363z\362{\343|\330~\376,
|
|
use=rxvt-cygwin,
|
|
|
|
+# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
|
|
+# Updated: Özgür Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
|
|
+# Updated: Marc Lehmann <pcg@goof.com>, 17 Feb 2005
|
|
+# Updated: Marc Lehmann <schmorp@schmorp.de>, 04 Nov 2008: change init/reset sequences
|
|
+#
|
|
+rxvt-unicode|rxvt-unicode terminal (X Window System),
|
|
+ bw, ccc, hs, mc5i, npc, btns#5, colors#88, lm#0, ncv#0, pairs#256,
|
|
+ acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
|
+ dsl=\E]2;\007, ech=\E[%p1%dX, enacs=, flash=\E[?5h$<20/>\E[?5l,
|
|
+ fsl=^G, indn=\E[%p1%dS,
|
|
+ initc=\E]4;%p1%d;rgb\:%p2%{65535}%*%{1000}%/%4.4X/%p3%{65535}%*%{1000}%/%4.4X/%p4%{65535}%*%{1000}%/%4.4X\E\\,
|
|
+ is1=\E[!p,
|
|
+ is2=\E[r\E[m\E[2J\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l,
|
|
+ kIC=\E2$, mc0=\E[i, mc4=\E[4i, mc5=\E[5i, op=\E[39;49m,
|
|
+ rin=\E[%p1%dT, ritm=\E[23m, rmacs=\E(B, rmam=\E[?7l,
|
|
+ rmcup=\E[r\E[?1049l, rmkx=\E[?1l\E>, rs1=\Ec,
|
|
+ rs2=\E[r\E[m\E[?7;25h\E[?1;3;4;5;6;9;66;1000;1001;1049l\E[4l,
|
|
+ s2ds=\E*B, s3ds=\E+B,
|
|
+ setab=\E[48;5;%p1%dm, setaf=\E[38;5;%p1%dm,
|
|
+ setb=%?%p1%{7}%>%t\E[48;5;%p1%dm%e\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;,
|
|
+ setf=%?%p1%{7}%>%t\E[38;5;%p1%dm%e\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m%;,
|
|
+ sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
|
|
+ sgr0=\E[m\E(B, sitm=\E[3m, smacs=\E(0, smam=\E[?7h,
|
|
+ smcup=\E[?1049h, smkx=\E[?1h\E=,
|
|
+ tsl=\E]2;, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
|
|
+ use=rxvt-basic,
|
|
+
|
|
+rxvt-unicode-256color|rxvt-unicode terminal with 256 colors (X Window System),
|
|
+ colors#256,
|
|
+ pairs#32767,
|
|
+ use=rxvt-unicode,
|
|
+
|
|
# This variant is supposed to work with rxvt 2.7.7 when compiled with
|
|
# NO_BRIGHTCOLOR defined. rxvt needs more work...
|
|
rxvt-16color|rxvt with 16 colors like aixterm,
|
|
@@ -6526,7 +6589,7 @@ Eterm|Eterm-color|Eterm with xterm-style
|
|
home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
|
|
il=\E[%p1%dL, il1=\E[L, ind=\n, is1=\E[?47l\E>\E[?1l,
|
|
is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@,
|
|
- kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^H,
|
|
+ kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kbs=^?,
|
|
kc1=\E[8~, kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M,
|
|
mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O,
|
|
rmam=\E[?7l, rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=,
|
|
@@ -7514,7 +7577,7 @@ pty|4bsd pseudo teletype,
|
|
# https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el
|
|
#
|
|
# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
|
|
-eterm|gnu emacs term.el terminal emulation,
|
|
+eterm-19|gnu emacs term.el terminal emulation,
|
|
am, mir, xenl,
|
|
cols#80, lines#24,
|
|
bel=^G, bold=\E[1m, clear=\E[H\E[J, cr=\r,
|
|
@@ -7527,6 +7590,13 @@ eterm|gnu emacs term.el terminal emulati
|
|
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
|
|
sgr0=\E[m, smcup=\E7\E[?47h, smir=\E[4h, smso=\E[7m,
|
|
smul=\E[4m,
|
|
+eterm|emacs|gnu emacs term.el terminal emulation,
|
|
+ colors#8, pairs#64,
|
|
+ invis=\E[8m, kcub1=\EOD, kcud1=\EOB,
|
|
+ kcuf1=\EOC, kcuu1=\EOA, kend=\E[4~,
|
|
+ khome=\E[1~, knp=\E[6~, kpp=\E[5~,
|
|
+ setab=\E[%p1%{40}%+%dm, setaf=\E[%p1%{30}%+%dm,
|
|
+ use=eterm-19,
|
|
|
|
# The codes supported by the term.el terminal emulation in GNU Emacs 22.2
|
|
eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
|
|
@@ -7654,7 +7724,7 @@ screen|VT 100/ANSI X3.64 virtual termina
|
|
dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K, el1=\E[1K,
|
|
enacs=\E(B\E)0, flash=\Eg, home=\E[H, hpa=\E[%i%p1%dG,
|
|
ht=^I, hts=\EH, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[L,
|
|
- ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^H, kcbt=\E[Z,
|
|
+ ind=\n, indn=\E[%p1%dS, is2=\E)0, kbs=^?, kcbt=\E[Z,
|
|
kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
|
|
kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR,
|
|
kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
|
|
@@ -7774,6 +7844,13 @@ screen.xterm-xfree86|screen.xterm-new|sc
|
|
use=xterm+x11mouse, use=xterm-new,
|
|
#:screen.xterm|screen for modern xterm,
|
|
#: use=screen.xterm-new,
|
|
+screen.xterm|screen customized for modern xterm,
|
|
+ bce@, bw,
|
|
+ invis@, kIC@, kNXT@, kPRV@, meml@, memu@, rep@,
|
|
+ sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
|
|
+ %t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
|
|
+ E3@, use=screen+italics, use=screen+fkeys,
|
|
+ use=xterm+x11mouse, use=xterm-suse,
|
|
# xterm-r6 does not really support khome/kend unless it is propped up by
|
|
# the translations resource.
|
|
screen.xterm-r6|screen customized for X11R6 xterm,
|
|
@@ -7861,7 +7938,7 @@ screen2|old VT 100/ANSI X3.64 virtual te
|
|
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
|
|
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J,
|
|
el=\E[K, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=, il=\E[%p1%dL,
|
|
- il1=\E[L, ind=\n, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
|
|
+ il1=\E[L, ind=\n, kbs=^?, kcub1=\ED, kcud1=\EB, kcuf1=\EC,
|
|
kcuu1=\EA, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
|
|
kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I, khome=\EH,
|
|
nel=\r\n, rc=\E8, ri=\EM, rmir=\E[4l, rmso=\E[23m,
|
|
@@ -9759,7 +9836,7 @@ hp700-wy|HP700/41 emulating wyse30,
|
|
ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>,
|
|
sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>,
|
|
smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c,
|
|
-hp70092|hp70092a|hp70092A|HP 700/92,
|
|
+hp70092|hp70092a|hp70092A|70092|HP 700/92,
|
|
am, da, db, xhp,
|
|
cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8,
|
|
acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA,
|
|
@@ -17406,7 +17483,7 @@ ibm3101|i3101|IBM 3101-10,
|
|
cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
|
|
el=\EI, home=\EH, hts=\E0, ind=\n, kcub1=\ED, kcud1=\EB,
|
|
kcuf1=\EC, kcuu1=\EA, nel=\r\n, tbc=\EH,
|
|
-ibm3151|IBM 3151 display,
|
|
+ibm3151|i3151|IBM 3151 display,
|
|
is2=\E S, rmacs=\E>B, rmcup=\E>B, rs2=\E S, s0ds=\E>B,
|
|
sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;
|
|
%?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t
|
|
@@ -17664,7 +17741,7 @@ lft|lft-pc850|LFT-PC850|IBM LFT PC850 De
|
|
tbc=\E[3g, use=ecma+index,
|
|
# "Megapel" refers to the display adapter, which was used with the IBM RT
|
|
# aka IBM 6150.
|
|
-ibm5081|hft|IBM Megapel Color display,
|
|
+ibm5081|ibmmpel|hft|IBM Megapel Color display,
|
|
acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B,
|
|
s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
|
|
ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
|
|
--- ncurses/Makefile.in
|
|
+++ ncurses/Makefile.in 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -230,7 +230,7 @@ $(DESTDIR)$(libdir) :
|
|
../lib : ; mkdir $@
|
|
|
|
./fallback.c : $(tinfo)/MKfallback.sh
|
|
- $(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@
|
|
+ $(SHELL) -e $(srcdir)/run_cmd.sh $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@
|
|
|
|
./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
|
|
$(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
|
|
--- ncurses/curses.priv.h
|
|
+++ ncurses/curses.priv.h 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -2277,6 +2277,8 @@ extern NCURSES_EXPORT(char *) _nc_tracec
|
|
extern NCURSES_EXPORT(char *) _nc_tracemouse (SCREEN *, MEVENT const *);
|
|
extern NCURSES_EXPORT(char *) _nc_trace_mmask_t (SCREEN *, mmask_t);
|
|
extern NCURSES_EXPORT(int) _nc_access (const char *, int);
|
|
+extern NCURSES_EXPORT(void) _nc_fsid(void);
|
|
+extern NCURSES_EXPORT(void) _nc_fseid(void);
|
|
extern NCURSES_EXPORT(int) _nc_baudrate (int);
|
|
extern NCURSES_EXPORT(int) _nc_freewin (WINDOW *);
|
|
extern NCURSES_EXPORT(int) _nc_getenv_num (const char *);
|
|
--- ncurses/run_cmd.sh
|
|
+++ ncurses/run_cmd.sh 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -0,0 +1,11 @@
|
|
+#!/bin/sh
|
|
+
|
|
+PATH=$PWD/../progs:$PATH
|
|
+if test -n "$LD_LIBRARY_PATH"; then
|
|
+ LD_LIBRARY_PATH="$PWD/../lib:$LD_LIBRARY_PATH"
|
|
+else
|
|
+ LD_LIBRARY_PATH="$PWD/../lib"
|
|
+fi
|
|
+export PATH LD_LIBRARY_PATH
|
|
+
|
|
+exec ${1+"$@"}
|
|
--- ncurses/tinfo/MKfallback.sh
|
|
+++ ncurses/tinfo/MKfallback.sh 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -74,6 +74,12 @@ else
|
|
tmp_info=
|
|
fi
|
|
|
|
+if test -n "$TERMINFO" -a -d "$TERMINFO" ; then
|
|
+ infocmp_args="-v1 -A $TERMINFO"
|
|
+else
|
|
+ infocmp_args="-v1"
|
|
+fi
|
|
+
|
|
cat <<EOF
|
|
/* This file was generated by $0 */
|
|
|
|
@@ -95,7 +101,7 @@ EOF
|
|
for x in "$@"
|
|
do
|
|
echo "/* $x */"
|
|
- "$infocmp_path" -E "$x" | sed -e 's/\<short\>/NCURSES_INT2/g'
|
|
+ "$infocmp_path" $infocmp_args -E "$x" | sed -e 's/\<short\>/NCURSES_INT2/g'
|
|
done
|
|
|
|
cat <<EOF
|
|
@@ -106,7 +112,7 @@ EOF
|
|
for x in "$@"
|
|
do
|
|
echo "$comma /* $x */"
|
|
- "$infocmp_path" -e "$x"
|
|
+ "$infocmp_path" $infocmp_args -e "$x"
|
|
comma=","
|
|
done
|
|
|
|
--- ncurses/tinfo/access.c
|
|
+++ ncurses/tinfo/access.c 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -31,6 +31,10 @@
|
|
* Author: Thomas E. Dickey *
|
|
****************************************************************************/
|
|
|
|
+#ifdef linux
|
|
+# include <sys/fsuid.h>
|
|
+#endif
|
|
+
|
|
#include <curses.priv.h>
|
|
|
|
#include <ctype.h>
|
|
@@ -111,6 +115,30 @@ _nc_basename(char *path)
|
|
return path + _nc_pathlast(path);
|
|
}
|
|
|
|
+NCURSES_EXPORT(void)
|
|
+_nc_fsid()
|
|
+{
|
|
+#ifdef linux
|
|
+ int _old_errno = errno;
|
|
+ setfsuid(getuid());
|
|
+ setfsgid(getgid());
|
|
+ errno = _old_errno;
|
|
+#endif
|
|
+ return;
|
|
+}
|
|
+
|
|
+NCURSES_EXPORT(void)
|
|
+_nc_fseid()
|
|
+{
|
|
+#ifdef linux
|
|
+ int _old_errno = errno;
|
|
+ setfsuid(geteuid());
|
|
+ setfsgid(getegid());
|
|
+ errno = _old_errno;
|
|
+#endif
|
|
+ return;
|
|
+}
|
|
+
|
|
NCURSES_EXPORT(int)
|
|
_nc_access(const char *path, int mode)
|
|
{
|
|
--- ncurses/tinfo/lib_setup.c
|
|
+++ ncurses/tinfo/lib_setup.c 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -613,6 +613,9 @@ _nc_locale_breaks_acs(TERMINAL *termp)
|
|
} else if ((value = tigetnum("U8")) >= 0) {
|
|
result = value; /* use extension feature */
|
|
} else if ((env = getenv("TERM")) != 0) {
|
|
+ char *yast = getenv("YAST_DOES_ACS");
|
|
+ if (yast != 0)
|
|
+ return 0; /* YaST uses always correct font mappings */
|
|
if (strstr(env, "linux")) {
|
|
result = 1; /* always broken */
|
|
} else if (strstr(env, "screen") != 0
|
|
--- ncurses/tinfo/read_entry.c
|
|
+++ ncurses/tinfo/read_entry.c 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -551,6 +551,7 @@ _nc_read_file_entry(const char *const fi
|
|
FILE *fp = 0;
|
|
int code;
|
|
|
|
+ _nc_fsid();
|
|
if (_nc_access(filename, R_OK) < 0
|
|
|| (fp = fopen(filename, BIN_R)) == 0) {
|
|
TR(TRACE_DATABASE, ("cannot open terminfo %s (errno=%d)", filename, errno));
|
|
@@ -571,6 +572,7 @@ _nc_read_file_entry(const char *const fi
|
|
}
|
|
fclose(fp);
|
|
}
|
|
+ _nc_fseid();
|
|
|
|
return (code);
|
|
}
|
|
--- ncurses/tinfo/read_termcap.c
|
|
+++ ncurses/tinfo/read_termcap.c 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -323,14 +323,18 @@ _nc_getent(
|
|
*/
|
|
if (fd >= 0) {
|
|
(void) lseek(fd, (off_t) 0, SEEK_SET);
|
|
- } else if ((_nc_access(db_array[current], R_OK) < 0)
|
|
- || (fd = open(db_array[current], O_RDONLY, 0)) < 0) {
|
|
- /* No error on unfound file. */
|
|
- if (errno == ENOENT)
|
|
- continue;
|
|
- free(record);
|
|
- return (TC_SYS_ERR);
|
|
} else {
|
|
+ _nc_fsid();
|
|
+ if ((_nc_access(db_array[current], R_OK) < 0) ||
|
|
+ (fd = open(db_array[current], O_RDONLY, 0)) < 0) {
|
|
+ _nc_fseid();
|
|
+ /* No error on unfound file. */
|
|
+ if (errno == ENOENT)
|
|
+ continue;
|
|
+ free(record);
|
|
+ return (TC_SYS_ERR);
|
|
+ }
|
|
+ _nc_fseid();
|
|
myfd = TRUE;
|
|
}
|
|
lineno = 0;
|
|
@@ -1123,8 +1127,10 @@ _nc_read_termcap_entry(const char *const
|
|
for (i = 0; i < filecount; i++) {
|
|
|
|
TR(TRACE_DATABASE, ("Looking for %s in %s", tn, termpaths[i]));
|
|
+ _nc_fsid();
|
|
if (_nc_access(termpaths[i], R_OK) == 0
|
|
&& (fp = fopen(termpaths[i], "r")) != (FILE *) 0) {
|
|
+ _nc_fseid();
|
|
_nc_set_source(termpaths[i]);
|
|
|
|
/*
|
|
@@ -1136,6 +1142,7 @@ _nc_read_termcap_entry(const char *const
|
|
|
|
(void) fclose(fp);
|
|
}
|
|
+ _nc_fseid();
|
|
}
|
|
}
|
|
if (copied != 0)
|
|
--- progs/Makefile.in
|
|
+++ progs/Makefile.in 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -101,7 +101,7 @@ CFLAGS_LIBTOOL = $(CCFLAGS)
|
|
CFLAGS_NORMAL = $(CCFLAGS) -DNCURSES_STATIC
|
|
CFLAGS_DEBUG = $(CCFLAGS) -DNCURSES_STATIC @CC_G_OPT@ -DTRACE
|
|
CFLAGS_PROFILE = $(CCFLAGS) -DNCURSES_STATIC -pg
|
|
-CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@
|
|
+CFLAGS_SHARED = $(CCFLAGS) -fPIE
|
|
|
|
CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@)
|
|
|
|
@@ -118,7 +118,7 @@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LI
|
|
LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL)
|
|
LDFLAGS_DEBUG = $(LDFLAGS) $(CFLAGS_DEBUG)
|
|
LDFLAGS_PROFILE = $(LDFLAGS) $(CFLAGS_PROFILE)
|
|
-LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@
|
|
+LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) -pie
|
|
|
|
LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@)
|
|
|
|
--- test/test.priv.h
|
|
+++ test/test.priv.h 2021-01-11 07:27:32.121419944 +0000
|
|
@@ -1027,12 +1027,12 @@ extern char *_nc_strstr(const char *, co
|
|
#endif
|
|
|
|
/* out-of-band values for representing absent capabilities */
|
|
-#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
|
|
+#define ABSENT_BOOLEAN (char)-1) /* 255 */
|
|
#define ABSENT_NUMERIC (-1)
|
|
#define ABSENT_STRING (char *)0
|
|
|
|
/* out-of-band values for representing cancels */
|
|
-#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */
|
|
+#define CANCELLED_BOOLEAN (-2) /* 254 */
|
|
#define CANCELLED_NUMERIC (-2)
|
|
#define CANCELLED_STRING (char *)(-1)
|
|
|