Commit | Line | Data |
---|---|---|
b32a9711 PP |
1 | #!/bin/sh |
2 | ||
3 | # Portability note: | |
4 | # This tool is only used in building spec.txt for a release, not used as | |
5 | # part of the normal build/install process, so only Maintainers are affected | |
6 | # by requirements here. | |
7 | ||
8 | filename="$1" | |
9 | ||
10 | if echo a | pcregrep -q a 2>/dev/null | |
11 | then | |
12 | pcregrep -q '[^\x{20}-\x{7E}]' "$filename" | |
13 | grepstatus=$? | |
14 | else | |
15 | perl -ne 'BEGIN {$rv=1};END {exit $rv}; | |
16 | if (/[^\r\n\x{20}-\x{7E}]/) { $rv = 0; last }' < "$filename" | |
17 | grepstatus=$? | |
18 | fi | |
19 | ||
20 | case $grepstatus in | |
21 | 0) | |
22 | echo >&2 "$0: found non-ASCII characters in $filename" | |
23 | exit 1 | |
24 | ;; | |
25 | 1) | |
26 | exit 0 | |
27 | ;; | |
28 | 2) | |
29 | echo >&2 "$0: problem checking for non-ASCII characters in $filename" | |
30 | exit 2 | |
31 | ;; | |
32 | *) | |
33 | echo >&2 "$0: unhandled return value from pcregrep: $grepstatus" | |
34 | exit 3 | |
35 | ;; | |
36 | esac |