mirror of
https://github.com/Aigor44/ncursesw-morphos.git
synced 2024-12-27 07:49:06 +08:00
55 lines
2.2 KiB
Awk
55 lines
2.2 KiB
Awk
|
# $Id: MKunctrl.awk,v 1.3 1997/04/26 23:04:45 tom Exp $
|
||
|
################################################################################
|
||
|
# Copyright 1997 by Thomas E. Dickey <dickey@clark.net> #
|
||
|
# All Rights Reserved. #
|
||
|
# #
|
||
|
# Permission to use, copy, modify, and distribute this software and its #
|
||
|
# documentation for any purpose and without fee is hereby granted, provided #
|
||
|
# that the above copyright notice appear in all copies and that both that #
|
||
|
# copyright notice and this permission notice appear in supporting #
|
||
|
# documentation, and that the name of the above listed copyright holder(s) not #
|
||
|
# be used in advertising or publicity pertaining to distribution of the #
|
||
|
# software without specific, written prior permission. THE ABOVE LISTED #
|
||
|
# COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, #
|
||
|
# INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT #
|
||
|
# SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY SPECIAL, #
|
||
|
# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM #
|
||
|
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE #
|
||
|
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR #
|
||
|
# PERFORMANCE OF THIS SOFTWARE. #
|
||
|
################################################################################
|
||
|
|
||
|
BEGIN {
|
||
|
print "/* generated by MKunctrl.awk */"
|
||
|
print
|
||
|
print "#include <curses.priv.h>"
|
||
|
print
|
||
|
}
|
||
|
END {
|
||
|
print "NCURSES_CONST char *unctrl(register chtype ch)"
|
||
|
print "{"
|
||
|
printf "static const char* const table[] = {"
|
||
|
for ( ch = 0; ch < 256; ch++ ) {
|
||
|
gap = ","
|
||
|
if ((ch % 8) == 0)
|
||
|
printf "\n "
|
||
|
if (ch < 32) {
|
||
|
printf "\"^\\%03o\"", ch + 64
|
||
|
} else if (ch == 127) {
|
||
|
printf "\"^?\""
|
||
|
} else {
|
||
|
printf "\"\\%03o\"", ch
|
||
|
gap = gap " "
|
||
|
}
|
||
|
if (ch == 255)
|
||
|
gap = "\n"
|
||
|
else if (((ch + 1) % 8) != 0)
|
||
|
gap = gap " "
|
||
|
printf "%s", gap
|
||
|
}
|
||
|
print "};"
|
||
|
print ""
|
||
|
print "\treturn (NCURSES_CONST char *)table[TextOf(ch)];"
|
||
|
print "}"
|
||
|
}
|