Annotation of src/usr.bin/top/sigconv.awk, Revision 1.2
1.1 downsj 1: BEGIN {
2: nsig = 0;
3: j = 0;
4: print "/* This file was automatically generated */"
1.2 ! downsj 5: print "/* by the awk script \"sigconv.awk\". */"
! 6: print "/* $OpenBSD$ */\n"
1.1 downsj 7: print "struct sigdesc {"
8: print " char *name;"
9: print " int number;"
10: print "};\n"
11: print "struct sigdesc sigdesc[] = {"
12: }
13:
14: /^#define[ \t][ \t]*SIG[A-Z]/ {
15:
16: j = sprintf("%d", $3);
17: str = $2;
18:
19: if (nsig < j)
20: nsig = j;
21:
1.2 ! downsj 22: siglist[j] = sprintf("\"%s\",\t%2d", \
1.1 downsj 23: substr(str, 4), j);
24: }
25: /^#[ \t]*define[ \t][ \t]*SIG[A-Z]/ {
26:
27: j = sprintf("%d", $4);
28: str = $3;
29:
30: if (nsig < j)
31: nsig = j;
32:
1.2 ! downsj 33: siglist[j] = sprintf("\"%s\",\t%2d", \
1.1 downsj 34: substr(str, 4), j);
35: }
36: /^#[ \t]*define[ \t][ \t]*_SIG[A-Z]/ {
37:
38: j = sprintf("%d", $4);
39: str = $3;
40:
41: if (nsig < j)
42: nsig = j;
43:
1.2 ! downsj 44: siglist[j] = sprintf("\"%s\",\t%2d", \
1.1 downsj 45: substr(str, 5), j);
46: }
47:
48: END {
49: for (n = 1; n <= nsig; n++)
50: if (siglist[n] != "")
1.2 ! downsj 51: printf(" { %s },\n", siglist[n]);
1.1 downsj 52:
1.2 ! downsj 53: printf(" { NULL,\t 0 }\n};\n");
1.1 downsj 54: }