Skip to content

Commit c6e9007

Browse files
committed
correctly propagate the error value from the sub-shell
also make the script more robust
1 parent f7a6748 commit c6e9007

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

dev/check-examples.sh

+17-3
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,27 @@
88
# Lastly, it assumes that the \example{} does not span multiple lines.
99
#
1010

11+
SRC_DIR="../unix-linux-prog-in-c-src"
12+
13+
if [[ ! -d $SRC_DIR ]]; then
14+
echo "directory $SRC_DIR does not exist"
15+
exit 1
16+
fi
17+
18+
ret=0
1119
for m4file in *.m4.tex; do
1220
echo "### $m4file"
13-
cat "$m4file" | grep -o '\\example{[[:alnum:]\/\._\-]\+}' | \
14-
sort -u | sed -e 's/^\\example{//' -e 's/}$//' | while read example; do
15-
if [[ ! -f ../unix-linux-prog-in-c-src/$example ]]; then
21+
oldIFS=$IFS
22+
cat "$m4file" | grep -o '\\example{[[:alnum:]\/\._\-]\+}' |
23+
sort -u | sed -e 's/^\\example{//' -e 's/}$//' | while IFS='\n' read example; do
24+
if [[ ! -f $SRC_DIR/$example ]]; then
1625
echo "example $example is bad link"
1726
exit 1
1827
fi
1928
done
29+
if (( $? != 0 )); then
30+
ret=1
31+
fi
32+
IFS=$oldIFS
2033
done
34+
exit $ret

0 commit comments

Comments
 (0)