| @@ -1,16 +1,16 @@ | | | @@ -1,16 +1,16 @@ |
1 | #! /bin/sh | | 1 | #! /bin/sh |
2 | # | | 2 | # |
3 | # $NetBSD: makeerrnos.sh,v 1.5 2008/10/19 22:10:05 apb Exp $ | | 3 | # $NetBSD: makeerrnos.sh,v 1.6 2012/03/12 22:02:07 dyoung Exp $ |
4 | | | 4 | |
5 | if [ $# -ne 3 ]; then | | 5 | if [ $# -ne 3 ]; then |
6 | echo "usage: makeerrnos.sh errno.h signal.h output" | | 6 | echo "usage: makeerrnos.sh errno.h signal.h output" |
7 | exit 1; | | 7 | exit 1; |
8 | fi | | 8 | fi |
9 | | | 9 | |
10 | ERRNOH=$1 | | 10 | ERRNOH=$1 |
11 | SIGNALH=$2 | | 11 | SIGNALH=$2 |
12 | CFILE=$3.c | | 12 | CFILE=$3.c |
13 | HFILE=$3.h | | 13 | HFILE=$3.h |
14 | | | 14 | |
15 | : ${AWK:=awk} | | 15 | : ${AWK:=awk} |
16 | : ${CPP:=cpp} | | 16 | : ${CPP:=cpp} |
| @@ -25,51 +25,51 @@ cat ${ERRNOH} | ${CPP} ${CPPFLAGS} -dM | | | | @@ -25,51 +25,51 @@ cat ${ERRNOH} | ${CPP} ${CPPFLAGS} -dM | |
25 | ${AWK} ' | | 25 | ${AWK} ' |
26 | /^#[ ]*define[ ]*E[A-Z0-9]*[ ]*[0-9-][0-9]*[ ]*.*/ { | | 26 | /^#[ ]*define[ ]*E[A-Z0-9]*[ ]*[0-9-][0-9]*[ ]*.*/ { |
27 | for (i = 1; i <= NF; i++) | | 27 | for (i = 1; i <= NF; i++) |
28 | if ($i ~ /define/) | | 28 | if ($i ~ /define/) |
29 | break; | | 29 | break; |
30 | i++; | | 30 | i++; |
31 | j = i + 1; | | 31 | j = i + 1; |
32 | # | | 32 | # |
33 | printf("\t{ \"%s\", %s },\n", $i, $j); | | 33 | printf("\t{ \"%s\", %s },\n", $i, $j); |
34 | } | | 34 | } |
35 | END { | | 35 | END { |
36 | print " { \"0\", 0 },\n"; | | 36 | print " { \"0\", 0 },\n"; |
37 | } | | 37 | } |
38 | ' | sort -n +2 >> $CFILE | | 38 | ' | sort -n -k 3 >> $CFILE |
39 | echo " { 0L, 0}, | | 39 | echo " { 0L, 0}, |
40 | };" >> $CFILE | | 40 | };" >> $CFILE |
41 | lines=`wc -l $CFILE | ${AWK} ' { print $1; } ' -` | | 41 | lines=`wc -l $CFILE | ${AWK} ' { print $1; } ' -` |
42 | lines=`expr $lines - 4` | | 42 | lines=`expr $lines - 4` |
43 | | | 43 | |
44 | cat <<__EOF__ >> $CFILE | | 44 | cat <<__EOF__ >> $CFILE |
45 | | | 45 | |
46 | struct systab signals[] = { | | 46 | struct systab signals[] = { |
47 | __EOF__ | | 47 | __EOF__ |
48 | cat ${SIGNALH} | ${CPP} ${CPPFLAGS} -dM | | | 48 | cat ${SIGNALH} | ${CPP} ${CPPFLAGS} -dM | |
49 | ${AWK} ' | | 49 | ${AWK} ' |
50 | /^#[ ]*define[ ]*S[A-Z0-9]*[ ]*[0-9-][0-9]*[ ]*.*/ { | | 50 | /^#[ ]*define[ ]*S[A-Z0-9]*[ ]*[0-9-][0-9]*[ ]*.*/ { |
51 | for (i = 1; i <= NF; i++) | | 51 | for (i = 1; i <= NF; i++) |
52 | if ($i ~ /define/) | | 52 | if ($i ~ /define/) |
53 | break; | | 53 | break; |
54 | i++; | | 54 | i++; |
55 | j = i + 1; | | 55 | j = i + 1; |
56 | # | | 56 | # |
57 | printf("\t{ \"%s\", %s },\n", $i, $j); | | 57 | printf("\t{ \"%s\", %s },\n", $i, $j); |
58 | } | | 58 | } |
59 | END { | | 59 | END { |
60 | print " { \"0\", 0 },\n"; | | 60 | print " { \"0\", 0 },\n"; |
61 | } | | 61 | } |
62 | ' | sort -n +2 >> $CFILE | | 62 | ' | sort -n -k 3 >> $CFILE |
63 | echo " { 0L, 0}, | | 63 | echo " { 0L, 0}, |
64 | };" >> $CFILE | | 64 | };" >> $CFILE |
65 | elines=`grep '{ "SIG' $CFILE | wc -l` | | 65 | elines=`grep '{ "SIG' $CFILE | wc -l` |
66 | elines=`expr $elines + 1` | | 66 | elines=`expr $elines + 1` |
67 | | | 67 | |
68 | cat <<__EOF__ >$HFILE | | 68 | cat <<__EOF__ >$HFILE |
69 | struct systab { | | 69 | struct systab { |
70 | const char *name; | | 70 | const char *name; |
71 | int value; | | 71 | int value; |
72 | }; | | 72 | }; |
73 | | | 73 | |
74 | extern struct systab errnos[$lines + 1]; | | 74 | extern struct systab errnos[$lines + 1]; |
75 | extern struct systab signals[$elines + 1]; | | 75 | extern struct systab signals[$elines + 1]; |