Revision b40292e7 hxtool

b/hxtool
7 7
        case $str in
8 8
            HXCOMM*)
9 9
            ;;
10
            STEXI*|ETEXI*) flag=$(($flag^1))
10
            STEXI*|ETEXI*|SQMP*|EQMP*) flag=$(($flag^1))
11 11
            ;;
12 12
            *)
13 13
            test $flag -eq 1 && printf "%s\n" "$str"
......
38 38
            fi
39 39
            flag=0
40 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
            ;;
41 47
            DEFHEADING*)
42 48
            echo "$(expr "$str" : "DEFHEADING(\(.*\))")"
43 49
            ;;
......
49 55
    done
50 56
}
51 57

  
58
hxtoqmp()
59
{
60
    IFS=
61
    flag=0
62
    while read -r str; do
63
        case "$str" in
64
            HXCOMM*)
65
            ;;
66
            SQMP*)
67
            if test $flag -eq 1 ; then
68
                echo "line $line: syntax error: expected EQMP, found $str" >&2
69
                exit 1
70
            fi
71
            flag=1
72
            ;;
73
            EQMP*)
74
            if test $flag -ne 1 ; then
75
                echo "line $line: syntax error: expected SQMP, found $str" >&2
76
                exit 1
77
            fi
78
            flag=0
79
            ;;
80
            STEXI*|ETEXI*)
81
            if test $flag -eq 1 ; then
82
                echo "line $line: syntax error: expected EQMP, found $str" >&2
83
                exit 1
84
            fi
85
            ;;
86
            *)
87
            test $flag -eq 1 && echo "$str"
88
            ;;
89
        esac
90
    done
91
}
92

  
52 93
case "$1" in
53 94
"-h") hxtoh ;;
54 95
"-t") hxtotexi ;;
96
"-q") hxtoqmp ;;
55 97
*) exit 1 ;;
56 98
esac
57 99

  

Also available in: Unified diff