mkerrstr (392B)
1 #!/bin/sh 2 3 trap 'rm -f $$.tmp' EXIT 4 trap 'exit 1' HUP INT TERM 5 6 awk ' 7 /^#define[ \t]*E/{ 8 str = "" 9 for (i = 5; i < NF; i++) 10 str = str " " $i 11 sub(/^ /, "", str) 12 errstr[$2] = str 13 } 14 15 END { 16 print "#include <errno.h>\n" 17 print "char *const _sys_errlist[] = {" 18 for (i in errstr) 19 printf "\t%-20.20s = \"%s\",\n", "[" i "]", errstr[i] 20 21 print "};" 22 }' $@ > $$.tmp && mv $$.tmp _sys_errlist.c