]> git.proxmox.com Git - qemu.git/blob - hxtool
vnc: rename vnc-encoding-* vnc-enc-*
[qemu.git] / hxtool
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