xref: /freebsd/contrib/ncurses/include/MKparametrized.sh (revision 0e3d540892016a47f6a68ec9ba2879d35ce5f7c2)
10e3d5408SPeter Wemm#!/bin/sh
20e3d5408SPeter Wemm#
30e3d5408SPeter Wemm# MKparametrized.sh -- generate indirection vectors for various sort methods
40e3d5408SPeter Wemm#
50e3d5408SPeter Wemm# The output of this script is C source for an array specifying whether
60e3d5408SPeter Wemm# termcap strings should undergo parameter and padding translation.
70e3d5408SPeter Wemm#
80e3d5408SPeter WemmCAPS="${1-Caps}"
90e3d5408SPeter Wemmcat <<EOF
100e3d5408SPeter Wemm/*
110e3d5408SPeter Wemm * parametrized.h --- is a termcap capability parametrized?
120e3d5408SPeter Wemm *
130e3d5408SPeter Wemm * Note: this file is generated using parametrized.sh, do not edit by hand.
140e3d5408SPeter Wemm * A value of -1 in the table means suppress both pad and % translations.
150e3d5408SPeter Wemm * A value of 0 in the table means do pad but not % translations.
160e3d5408SPeter Wemm * A value of 1 in the table means do both pad and % translations.
170e3d5408SPeter Wemm */
180e3d5408SPeter Wemm
190e3d5408SPeter Wemmstatic short const parametrized[] = {
200e3d5408SPeter WemmEOF
210e3d5408SPeter Wemm
220e3d5408SPeter Wemm# We detect whether % translations should be done by looking for #[0-9] in the
230e3d5408SPeter Wemm# description field.  We presently suppress padding translation only for the
240e3d5408SPeter Wemm# XENIX acs_* capabilities.  Maybe someday we'll dedicate a flag field for
250e3d5408SPeter Wemm# this, that would be cleaner....
260e3d5408SPeter Wemm
270e3d5408SPeter Wemm${AWK-awk} <$CAPS '
280e3d5408SPeter Wemm$3 != "str"	{next;}
290e3d5408SPeter Wemm$1 ~ /^acs_/	{print "-1,\t/* ", $2, " */"; count++; next;}
300e3d5408SPeter Wemm$0 ~ /#[0-9]/	{print "1,\t/* ", $2, " */"; count++; next;}
310e3d5408SPeter Wemm		{print "0,\t/* ", $2, " */"; count++;}
320e3d5408SPeter WemmEND		{printf("} /* %d entries */;\n\n", count);}
330e3d5408SPeter Wemm'
340e3d5408SPeter Wemm
35