|
|
1.1 root 1: #!/bin/sh
2:
3: hxtoh()
4: {
5: flag=1
6: while read -r str; do
7: case $str in
8: HXCOMM*)
9: ;;
10: STEXI*|ETEXI*|SQMP*|EQMP*) flag=$(($flag^1))
11: ;;
12: *)
13: test $flag -eq 1 && printf "%s\n" "$str"
14: ;;
15: esac
16: done
17: }
18:
19: hxtotexi()
20: {
21: flag=0
22: line=1
23: while read -r str; do
24: case "$str" in
25: HXCOMM*)
26: ;;
27: STEXI*)
28: if test $flag -eq 1 ; then
29: echo "line $line: syntax error: expected ETEXI, found $str" >&2
30: exit 1
31: fi
32: flag=1
33: ;;
34: ETEXI*)
35: if test $flag -ne 1 ; then
36: echo "line $line: syntax error: expected STEXI, found $str" >&2
37: exit 1
38: fi
39: flag=0
40: ;;
41: SQMP*|EQMP*)
42: if test $flag -eq 1 ; then
43: echo "line $line: syntax error: expected ETEXI, found $str" >&2
44: exit 1
45: fi
46: ;;
47: DEFHEADING*)
48: echo "$(expr "$str" : "DEFHEADING(\(.*\))")"
49: ;;
50: *)
51: test $flag -eq 1 && echo "$str"
52: ;;
53: esac
54: line=$((line+1))
55: done
56: }
57:
58: hxtoqmp()
59: {
60: IFS=
61: flag=0
62: line=1
63: while read -r str; do
64: case "$str" in
65: HXCOMM*)
66: ;;
67: SQMP*)
68: if test $flag -eq 1 ; then
69: echo "line $line: syntax error: expected EQMP, found $str" >&2
70: exit 1
71: fi
72: flag=1
73: ;;
74: EQMP*)
75: if test $flag -ne 1 ; then
76: echo "line $line: syntax error: expected SQMP, found $str" >&2
77: exit 1
78: fi
79: flag=0
80: ;;
81: STEXI*|ETEXI*)
82: if test $flag -eq 1 ; then
83: echo "line $line: syntax error: expected EQMP, found $str" >&2
84: exit 1
85: fi
86: ;;
87: *)
88: test $flag -eq 1 && echo "$str"
89: ;;
90: esac
91: line=$((line+1))
92: done
93: }
94:
95: case "$1" in
96: "-h") hxtoh ;;
97: "-t") hxtotexi ;;
98: "-q") hxtoqmp ;;
99: *) exit 1 ;;
100: esac
101:
102: exit 0
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.