blob: 617a694eafe5ca9dab064bf41ba0ecf8110b878d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!/bin/sh
print_if_not_rst()
{
test $in_rst -eq 0 && printf "%s\n" "$str"
}
hxtoh()
{
in_rst=0
# .name for HMP
seen_name=0
while read -r str; do
case $str in
HXCOMM*)
;;
SRST*)
if [ $in_rst -eq 1 ]
then
echo "Error: SRST inside another RST" >&2
exit 1
fi
# consume the name
seen_name=0
in_rst=1
;;
ERST*)
if [ $in_rst -eq 0 ]
then
echo "Error: ERST already outside RST" >&2
exit 1
fi
in_rst=0
;;
# Note the space at the start - we need to exclude something.name
( .name*)
if [ $seen_name -eq 1 ]
then
echo "Error: Seen another .name, maybe missing docs?" >&2
exit 1
fi
seen_name=1
print_if_not_rst
;;
*)
print_if_not_rst
;;
esac
done
}
case "$1" in
"-h") hxtoh ;;
*) exit 1 ;;
esac < "$2"
exit 0
|