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