X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Fbase%2FMKkeyname.awk;h=1c2a0760b747cbb16ffc365b4135dfea28529c9d;hb=7b2974498fac39a3ffde257c92f572234d529239;hp=2d449271fd194ed9bd8df085e5581ee6f06d4615;hpb=7eb4be765b131f00ac3da7ce8cfd3bc6759d26c5;p=ncurses.git diff --git a/ncurses/base/MKkeyname.awk b/ncurses/base/MKkeyname.awk index 2d449271..1c2a0760 100644 --- a/ncurses/base/MKkeyname.awk +++ b/ncurses/base/MKkeyname.awk @@ -1,4 +1,4 @@ -# $Id: MKkeyname.awk,v 1.31 2007/01/06 21:19:44 Miroslav.Lichvar Exp $ +# $Id: MKkeyname.awk,v 1.36 2007/06/12 20:28:18 tom Exp $ ############################################################################## # Copyright (c) 1999-2006,2007 Free Software Foundation, Inc. # # # @@ -48,7 +48,7 @@ END { print "static const char key_names[] = "names";" print "" print "#define SIZEOF_TABLE 256" - print "static char **keyname_table;" + print "#define MyTable _nc_globals.keyname_table" print "" print "NCURSES_EXPORT(NCURSES_CONST char *) keyname (int c)" print "{" @@ -68,13 +68,13 @@ END { print " }" print "" print " if (result == 0 && (c >= 0 && c < SIZEOF_TABLE)) {" - print " if (keyname_table == 0)" - print " keyname_table = typeCalloc(char *, SIZEOF_TABLE);" - print " if (keyname_table != 0) {" - print " if (keyname_table[c] == 0) {" + print " if (MyTable == 0)" + print " MyTable = typeCalloc(char *, SIZEOF_TABLE);" + print " if (MyTable != 0) {" + print " if (MyTable[c] == 0) {" print " int cc = c;" print " p = name;" - print " if (cc >= 128) {" + print " if (cc >= 128 && (SP == 0 || SP->_use_meta)) {" print " strcpy(p, \"M-\");" print " p += 2;" print " cc -= 128;" @@ -85,9 +85,9 @@ END { print " strcpy(p, \"^?\");" print " else" print " sprintf(p, \"%c\", cc);" - print " keyname_table[c] = strdup(name);" + print " MyTable[c] = strdup(name);" print " }" - print " result = keyname_table[c];" + print " result = MyTable[c];" print " }" print "#if NCURSES_EXT_FUNCS && NCURSES_XNAMES" print " } else if (result == 0 && cur_term != 0) {" @@ -115,24 +115,15 @@ END { print " return result;" print "}" print "" - print "#if USE_WIDEC_SUPPORT" - print "NCURSES_EXPORT(NCURSES_CONST char *) key_name (wchar_t c)" - print "{" - print " NCURSES_CONST char *result = keyname((int)c);" - print " if (!strncmp(result, \"M-\", 2)) result = 0;" - print " return result;" - print "}" - print "#endif" - print "" print "#if NO_LEAKS" print "void _nc_keyname_leaks(void)" print "{" print " int j;" - print " if (keyname_table != 0) {" + print " if (MyTable != 0) {" print " for (j = 0; j < SIZEOF_TABLE; ++j) {" - print " FreeIfNeeded(keyname_table[j]);" + print " FreeIfNeeded(MyTable[j]);" print " }" - print " FreeAndNull(keyname_table);" + print " FreeAndNull(MyTable);" print " }" print "}" print "#endif /* NO_LEAKS */"