X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2FMKfallback.sh;h=64c65f197e0da11dcaf101e5adae9252c004f3e6;hp=2a76f6239b2b755f680b746c3b7afcc5897155b9;hb=HEAD;hpb=0eb88fc5281804773e2a0c7a488a4452463535ce diff --git a/ncurses/tinfo/MKfallback.sh b/ncurses/tinfo/MKfallback.sh old mode 100755 new mode 100644 index 2a76f623..02b36ed7 --- a/ncurses/tinfo/MKfallback.sh +++ b/ncurses/tinfo/MKfallback.sh @@ -1,5 +1,33 @@ #!/bin/sh -# $Id: MKfallback.sh,v 1.9 1999/06/15 22:57:45 tom Exp $ +############################################################################## +# Copyright 2020,2023 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"), # +# to deal in the Software without restriction, including without limitation # +# the rights to use, copy, modify, merge, publish, distribute, distribute # +# with modifications, sublicense, and/or sell copies of the Software, and to # +# permit persons to whom the Software is furnished to do so, subject to the # +# following conditions: # +# # +# The above copyright notice and this permission notice shall be included in # +# all copies or substantial portions of the Software. # +# # +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # +# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # +# DEALINGS IN THE SOFTWARE. # +# # +# Except as contained in this notice, the name(s) of the above copyright # +# holders shall not be used in advertising or otherwise to promote the sale, # +# use or other dealings in this Software without prior written # +# authorization. # +############################################################################## +# $Id: MKfallback.sh,v 1.26 2023/04/22 15:12:57 tom Exp $ # # MKfallback.sh -- create fallback table for entry reads # @@ -8,13 +36,52 @@ # from an on-disk terminfo tree) tries to match the type with one of a # specified list of types generated in. # + +terminfo_dir=$1 +shift + +terminfo_src=$1 +shift + +tic_path=$1 +test -z "$tic_path" && tic_path=tic +shift + +infocmp_path=$1 +test -z "$infocmp_path" && infocmp_path=infocmp +shift + +case "$tic_path" in #(vi +/*) + tic_head=`echo "$tic_path" | sed -e 's,/[^/]*$,,'` + PATH=$tic_head:$PATH + export PATH + ;; +esac + +if test $# != 0 ; then + tmp_info=tmp_info + echo creating temporary terminfo directory... >&2 + + TERMINFO=`pwd`/$tmp_info + export TERMINFO + + TERMINFO_DIRS=$TERMINFO:$terminfo_dir + export TERMINFO_DIRS + + "$tic_path" -x "$terminfo_src" >&2 +else + tmp_info= +fi + cat < -#include EOF @@ -25,21 +92,21 @@ then /* fallback entries for: $* */ EOF - for x in $* + for x in "$@" do echo "/* $x */" - infocmp -E $x + "$infocmp_path" -E "$x" | sed -e 's/\/NCURSES_INT2/g' done cat <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 <&2 + rm -rf $tmp_info +fi