[BACK]Return to sigconv.awk CVS log [TXT][DIR] Up to [local] / src / usr.bin / top

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:                                }