diff options
Diffstat (limited to 'ncurses/tinfo/MKfallback.sh')
-rwxr-xr-x | ncurses/tinfo/MKfallback.sh | 53 |
1 files changed, 41 insertions, 12 deletions
diff --git a/ncurses/tinfo/MKfallback.sh b/ncurses/tinfo/MKfallback.sh index 11f1d2e..319ab06 100755 --- a/ncurses/tinfo/MKfallback.sh +++ b/ncurses/tinfo/MKfallback.sh @@ -1,6 +1,7 @@ #!/bin/sh ############################################################################## -# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. # +# Copyright 2020 Thomas E. Dickey # +# Copyright 1998-2019,2020 Free Software Foundation, Inc. # # # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # @@ -26,7 +27,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: MKfallback.sh,v 1.15 2010/08/07 20:32:34 tom Exp $ +# $Id: MKfallback.sh,v 1.24 2020/02/08 21:52:37 tom Exp $ # # MKfallback.sh -- create fallback table for entry reads # @@ -45,6 +46,9 @@ shift tic_path=$1 shift +infocmp_path=$1 +shift + case $tic_path in #(vi /*) tic_head=`echo "$tic_path" | sed -e 's,/[^/]*$,,'` @@ -69,8 +73,10 @@ else fi cat <<EOF +/* This file was generated by $0 */ + /* - * DO NOT EDIT THIS FILE BY HAND! It is generated by MKfallback.sh. + * DO NOT EDIT THIS FILE BY HAND! */ #include <curses.priv.h> @@ -87,18 +93,18 @@ EOF for x in $* do echo "/* $x */" - infocmp -E $x + $infocmp_path -E $x | sed -e 's/\<short\>/NCURSES_INT2/g' done cat <<EOF -static const TERMTYPE fallbacks[$#] = +static const TERMTYPE2 fallbacks[$#] = { EOF comma="" for x in $* do echo "$comma /* $x */" - infocmp -e $x + $infocmp_path -e $x comma="," done @@ -109,28 +115,51 @@ EOF fi cat <<EOF -NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *name GCC_UNUSED) +NCURSES_EXPORT(const TERMTYPE2 *) +_nc_fallback2 (const char *name GCC_UNUSED) { EOF if [ "$*" ] then cat <<EOF - const TERMTYPE *tp; + const TERMTYPE2 *tp; for (tp = fallbacks; - tp < fallbacks + sizeof(fallbacks)/sizeof(TERMTYPE); - tp++) - if (_nc_name_match(tp->term_names, name, "|")) + tp < fallbacks + sizeof(fallbacks)/sizeof(TERMTYPE2); + tp++) { + if (_nc_name_match(tp->term_names, name, "|")) { return(tp); + } + } EOF else echo " /* the fallback list is empty */"; fi cat <<EOF - return((TERMTYPE *)0); + return((const TERMTYPE2 *)0); +} + +#if NCURSES_EXT_NUMBERS +#undef _nc_fallback + +/* + * This entrypoint is used by tack 1.07 + */ +NCURSES_EXPORT(const TERMTYPE *) +_nc_fallback (const char *name) +{ + const TERMTYPE2 *tp = _nc_fallback2(name); + const TERMTYPE *result = 0; + if (tp != 0) { + static TERMTYPE temp; + _nc_export_termtype2(&temp, tp); + result = &temp; + } + return result; } +#endif EOF if test -n "$tmp_info" ; then |