diff options
Diffstat (limited to 'ncurses/tinfo/MKcaptab.sh')
-rwxr-xr-x | ncurses/tinfo/MKcaptab.sh | 76 |
1 files changed, 51 insertions, 25 deletions
diff --git a/ncurses/tinfo/MKcaptab.sh b/ncurses/tinfo/MKcaptab.sh index 20c94a6..c800023 100755 --- a/ncurses/tinfo/MKcaptab.sh +++ b/ncurses/tinfo/MKcaptab.sh @@ -1,6 +1,7 @@ #!/bin/sh ############################################################################## -# Copyright (c) 2007-2010,2011 Free Software Foundation, Inc. # +# Copyright 2019,2020 Thomas E. Dickey # +# Copyright 2007-2010,2011 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,11 +27,28 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: MKcaptab.sh,v 1.14 2011/10/22 16:34:50 tom Exp $ -AWK=${1-awk} -OPT1=${2-0} -OPT2=${3-tinfo/MKcaptab.awk} -DATA=${4-../include/Caps} +# $Id: MKcaptab.sh,v 1.19 2020/02/02 23:34:34 tom Exp $ + +if test $# != 0 +then + AWK="$1"; shift 1 +else + AWK=awk +fi + +if test $# != 0 +then + OPT1="$1"; shift 1 +else + OPT1="-0" +fi + +if test $# != 0 +then + OPT2="$1"; shift 1 +else + OPT2="tinfo/MKcaptab.awk" +fi cat <<EOF /* @@ -50,16 +68,18 @@ cat <<'EOF' #include <tic.h> #include <hashsize.h> +/* *INDENT-OFF* */ EOF -./make_hash 1 info $OPT1 <$DATA -./make_hash 3 cap $OPT1 <$DATA +cat "$@" |./make_hash 1 info $OPT1 +cat "$@" |./make_hash 3 cap $OPT1 -$AWK -f $OPT2 bigstrings=$OPT1 tablename=capalias <$DATA +cat "$@" |$AWK -f $OPT2 bigstrings=$OPT1 tablename=capalias -$AWK -f $OPT2 bigstrings=$OPT1 tablename=infoalias <$DATA +cat "$@" |$AWK -f $OPT2 bigstrings=$OPT1 tablename=infoalias cat <<EOF +/* *INDENT-ON* */ #if $OPT1 static void @@ -70,7 +90,7 @@ next_string(const char *strings, unsigned *offset) static const struct name_table_entry * _nc_build_names(struct name_table_entry **actual, - const name_table_data *source, + const name_table_data * source, const char *strings) { if (*actual == 0) { @@ -97,7 +117,7 @@ _nc_build_names(struct name_table_entry **actual, static const struct alias * _nc_build_alias(struct alias **actual, - const alias_table_data *source, + const alias_table_data * source, const char *strings, size_t tablesize) { @@ -127,20 +147,23 @@ _nc_build_alias(struct alias **actual, #define build_alias(root) _nc_ ## root ## alias_table #endif -NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap) +NCURSES_EXPORT(const struct name_table_entry *) +_nc_get_table(bool termcap) { - return termcap ? build_names(cap) : build_names(info) ; + return termcap ? build_names(cap) : build_names(info); } -/* entrypoint used by tack (do not alter) */ -NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool termcap) +/* entrypoint used by tack 1.07 */ +NCURSES_EXPORT(const HashValue *) +_nc_get_hash_table(bool termcap) { - return termcap ? _nc_cap_hash_table: _nc_info_hash_table ; + return termcap ? _nc_cap_hash_table : _nc_info_hash_table; } -NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool termcap) +NCURSES_EXPORT(const struct alias *) +_nc_get_alias_table(bool termcap) { - return termcap ? build_alias(cap) : build_alias(info) ; + return termcap ? build_alias(cap) : build_alias(info); } static HashValue @@ -150,7 +173,7 @@ info_hash(const char *string) DEBUG(9, ("hashing %s", string)); while (*string) { - sum += (long) (*string + (*(string + 1) << 8)); + sum += (long) (UChar(*string) + (UChar(*(string + 1)) << 8)); string++; } @@ -187,18 +210,21 @@ compare_info_names(const char *a, const char *b) return !strcmp(a, b); } -static const HashData hash_data[2] = { - { HASHTABSIZE, _nc_info_hash_table, info_hash, compare_info_names }, - { HASHTABSIZE, _nc_cap_hash_table, tcap_hash, compare_tcap_names } +static const HashData hash_data[2] = +{ + {HASHTABSIZE, _nc_info_hash_table, info_hash, compare_info_names}, + {HASHTABSIZE, _nc_cap_hash_table, tcap_hash, compare_tcap_names} }; -NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool termcap) +NCURSES_EXPORT(const HashData *) +_nc_get_hash_info(bool termcap) { return &hash_data[(termcap != FALSE)]; } #if NO_LEAKS -NCURSES_EXPORT(void) _nc_comp_captab_leaks(void) +NCURSES_EXPORT(void) +_nc_comp_captab_leaks(void) { #if $OPT1 FreeIfNeeded(_nc_cap_table); |