diff options
Diffstat (limited to 'lib/libcurses/tinfo/MKcaptab.awk')
-rw-r--r-- | lib/libcurses/tinfo/MKcaptab.awk | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/lib/libcurses/tinfo/MKcaptab.awk b/lib/libcurses/tinfo/MKcaptab.awk new file mode 100644 index 00000000000..2ea3236af3b --- /dev/null +++ b/lib/libcurses/tinfo/MKcaptab.awk @@ -0,0 +1,66 @@ +#!/bin/sh +# $OpenBSD: MKcaptab.awk,v 1.1 1999/01/18 19:10:12 millert Exp $ +# $From: MKcaptab.awk,v 1.10 1997/09/11 17:40:46 tom Exp $ +AWK=${1-awk} +DATA=${2-../include/Caps} + +cat <<'EOF' +/* + * comp_captab.c -- The names of the capabilities indexed via a hash + * table for the compiler. + * + */ + +#include <ncurses_cfg.h> +#include <tic.h> +#include <term.h> + +EOF + +./make_hash 1 info <$DATA +./make_hash 3 cap <$DATA + +cat <<'EOF' +const struct alias _nc_capalias_table[] = +{ +EOF + +$AWK <$DATA ' +$1 == "capalias" { + if ($3 == "IGNORE") + to = "(char *)NULL"; + else + to = "\"" $3 "\""; + printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", + $2, to, $4, $5 + } +' + +cat <<'EOF' + {(char *)NULL, (char *)NULL, (char *)NULL} +}; + +const struct alias _nc_infoalias_table[] = +{ +EOF + +$AWK <$DATA ' +$1 == "infoalias" { + if ($3 == "IGNORE") + to = "(char *)NULL"; + else + to = "\"" $3 "\""; + printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", + $2, to, $4, $5 + } +' + +cat <<'EOF' + {(char *)NULL, (char *)NULL, (char *)NULL} +}; + +const struct name_table_entry *_nc_get_table(bool termcap) +{ + return termcap ? _nc_cap_table: _nc_info_table ; +} +EOF |