diff options
author | Theodore Tso <tytso@mit.edu> | 1995-06-28 20:45:17 +0000 |
---|---|---|
committer | Theodore Tso <tytso@mit.edu> | 1995-06-28 20:45:17 +0000 |
commit | 576defedaf239acd5efbb06710ccaf8fac3c6eee (patch) | |
tree | 3f32337bc5d53f4c9b3824066dc449119b154dee /src/util/ss/ct_c_awk.in | |
parent | ca3f754fd6211976403116212e1755cc672edbde (diff) | |
download | krb5-576defedaf239acd5efbb06710ccaf8fac3c6eee.tar.gz krb5-576defedaf239acd5efbb06710ccaf8fac3c6eee.tar.xz krb5-576defedaf239acd5efbb06710ccaf8fac3c6eee.zip |
Rename ct_c.*.in to ct_c_*.in, so that the sources will unpack cleanly
under DOS. Argh.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6189 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/ss/ct_c_awk.in')
-rw-r--r-- | src/util/ss/ct_c_awk.in | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/util/ss/ct_c_awk.in b/src/util/ss/ct_c_awk.in new file mode 100644 index 0000000000..872f6e0070 --- /dev/null +++ b/src/util/ss/ct_c_awk.in @@ -0,0 +1,77 @@ +/^command_table / { + cmdtbl = $2; + printf "/* %s.c - automatically generated from %s.ct */\n", \ + rootname, rootname > outfile + print "#include <ss/ss.h>" > outfile + print "" >outfile + print "#ifndef __STDC__" > outfile + print "#define const" > outfile + print "#endif" > outfile + print "" > outfile +} + +/^BOR$/ { + cmdnum++ + options = 0 + cmdtab = "" + printf "static char const * const ssu%05d[] = {\n", cmdnum > outfile +} + +/^sub/ { + subr = substr($0, 6, length($0)-5) +} + +/^hlp/ { + help = substr($0, 6, length($0)-5) +} + +/^cmd/ { + cmd = substr($0, 6, length($0)-5) + printf "%s\"%s\",\n", cmdtab, cmd > outfile + cmdtab = " " +} + +/^opt/ { + opt = substr($0, 6, length($0)-5) + if (opt == "dont_list") { + options += 1 + } + if (opt == "dont_summarize") { + options += 2 + } +} + +/^EOR/ { + print " (char const *)0" > outfile + print "};" > outfile + printf "extern void %s __SS_PROTO;\n", subr > outfile + subr_tab[cmdnum] = subr + options_tab[cmdnum] = options + help_tab[cmdnum] = help +} + +/^[0-9]/ { + linenum = $1; +} + +/^ERROR/ { + error = substr($0, 8, length($0)-7) + printf "Error in line %d: %s\n", linenum, error + print "#__ERROR_IN_FILE__" > outfile +} + +END { + printf "static ss_request_entry ssu%05d[] = {\n", cmdnum+1 > outfile + for (i=1; i <= cmdnum; i++) { + printf " { ssu%05d,\n", i > outfile + printf " %s,\n", subr_tab[i] > outfile + printf " \"%s\",\n", help_tab[i] > outfile + printf " %d },\n", options_tab[i] > outfile + } + print " { 0, 0, 0, 0 }" > outfile + print "};" > outfile + print "" > outfile + printf "ss_request_table %s = { 2, ssu%05d };\n", \ + cmdtbl, cmdnum+1 > outfile +} + |