# $Id: MKunctrl.awk,v 1.3 1997/04/26 23:04:45 tom Exp $ ################################################################################ # Copyright 1997 by Thomas E. Dickey # # 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 " 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 "}" }