sigconv.awk revision 24139
124139SjoergBEGIN		{
224139Sjoerg		    nsig = 0;
324139Sjoerg		    j = 0;
424139Sjoerg		    print "/* This file was automatically generated */"
524139Sjoerg		    print "/* by the awk script \"sigconv.awk\".      */\n"
624139Sjoerg		    print "struct sigdesc {"
724139Sjoerg		    print "    char *name;"
824139Sjoerg		    print "    int  number;"
924139Sjoerg		    print "};\n"
1024139Sjoerg		    print "struct sigdesc sigdesc[] = {"
1124139Sjoerg		}
1224139Sjoerg
1324139Sjoerg/^#define[ \t][ \t]*SIG[A-Z]/	{
1424139Sjoerg
1524139Sjoerg				    j = sprintf("%d", $3);
1624139Sjoerg				    str = $2;
1724139Sjoerg
1824139Sjoerg				    if (nsig < j) 
1924139Sjoerg					nsig = j;
2024139Sjoerg
2124139Sjoerg				    siglist[j] = sprintf("\"%s\",\t%2d,", \
2224139Sjoerg						substr(str, 4), j);
2324139Sjoerg				}
2424139Sjoerg/^#[ \t]*define[ \t][ \t]*SIG[A-Z]/	{
2524139Sjoerg
2624139Sjoerg				    j = sprintf("%d", $4);
2724139Sjoerg				    str = $3;
2824139Sjoerg
2924139Sjoerg				    if (nsig < j)
3024139Sjoerg					nsig = j;
3124139Sjoerg
3224139Sjoerg				    siglist[j] = sprintf("\"%s\",\t%2d,", \
3324139Sjoerg						substr(str, 4), j);
3424139Sjoerg				}
3524139Sjoerg/^#[ \t]*define[ \t][ \t]*_SIG[A-Z]/	{
3624139Sjoerg
3724139Sjoerg				    j = sprintf("%d", $4);
3824139Sjoerg				    str = $3;
3924139Sjoerg
4024139Sjoerg				    if (nsig < j)
4124139Sjoerg					nsig = j;
4224139Sjoerg
4324139Sjoerg				    siglist[j] = sprintf("\"%s\",\t%2d,", \
4424139Sjoerg					    substr(str, 5), j);
4524139Sjoerg				}
4624139Sjoerg
4724139SjoergEND				{
4824139Sjoerg				    for (n = 1; n <= nsig; n++) 
4924139Sjoerg					if (siglist[n] != "")
5024139Sjoerg					    printf("    %s\n", siglist[n]);
5124139Sjoerg
5224139Sjoerg				    printf("    NULL,\t 0\n};\n");
5324139Sjoerg				}
54