3 printf "/* %s.c - automatically generated from %s.ct */\n", \
4 rootname, rootname > outfile
5 print "#include <ss/ss.h>" > outfile
7 print "#ifndef __STDC__" > outfile
8 print "#define const" > outfile
9 print "#endif" > outfile
17 printf "static char const * const ssu%05d[] = {\n", cmdnum > outfile
21 subr = substr($0, 6, length($0)-5)
25 help = substr($0, 6, length($0)-5)
29 cmd = substr($0, 6, length($0)-5)
30 printf "%s\"%s\",\n", cmdtab, cmd > outfile
35 opt = substr($0, 6, length($0)-5)
36 if (opt == "dont_list") {
39 if (opt == "dont_summarize") {
45 print " (char const *)0" > outfile
47 printf "extern void %s __SS_PROTO;\n", subr > outfile
48 # Work around a bug in gawk 3.0.5
50 subr_tab[awk_bug] = subr
51 options_tab[awk_bug] = options
52 help_tab[awk_bug] = help
60 error = substr($0, 8, length($0)-7)
61 printf "Error in line %d: %s\n", linenum, error
62 print "#__ERROR_IN_FILE__" > outfile
66 printf "static ss_request_entry ssu%05d[] = {\n", cmdnum+1 > outfile
67 for (i=1; i <= cmdnum; i++) {
68 printf " { ssu%05d,\n", i > outfile
69 printf " %s,\n", subr_tab[i] > outfile
70 printf " \"%s\",\n", help_tab[i] > outfile
71 printf " %d },\n", options_tab[i] > outfile
73 print " { 0, 0, 0, 0 }" > outfile
76 printf "ss_request_table %s = { 2, ssu%05d };\n", \
77 cmdtbl, cmdnum+1 > outfile