diff options
author | David 'Digit' Turner <digit@android.com> | 2010-12-22 17:39:19 +0100 |
---|---|---|
committer | David 'Digit' Turner <digit@android.com> | 2011-01-02 22:02:41 +0100 |
commit | eccfd661905bb0b073c4acba561da85c8ddfeb9e (patch) | |
tree | ce90090e754b9611b700ed3bb9f721046c4fa315 /hxtool | |
parent | 1cea2fb59edca80938ae42c2b8c2af0aba8016b4 (diff) | |
download | external_qemu-eccfd661905bb0b073c4acba561da85c8ddfeb9e.zip external_qemu-eccfd661905bb0b073c4acba561da85c8ddfeb9e.tar.gz external_qemu-eccfd661905bb0b073c4acba561da85c8ddfeb9e.tar.bz2 |
upstream: update hxtool
Change-Id: Ie94426766f3a59af46ddee6d3e53a56e9f8766a3
Diffstat (limited to 'hxtool')
-rwxr-xr-x | hxtool | 62 |
1 files changed, 60 insertions, 2 deletions
@@ -7,7 +7,7 @@ hxtoh() case $str in HXCOMM*) ;; - STEXI*|ETEXI*) flag=$(($flag^1)) + STEXI*|ETEXI*|SQMP*|EQMP*) flag=$(($flag^1)) ;; *) test $flag -eq 1 && printf "%s\n" "$str" @@ -19,11 +19,30 @@ hxtoh() hxtotexi() { flag=0 + line=1 while read -r str; do case "$str" in HXCOMM*) ;; - STEXI*|ETEXI*) flag=$(($flag^1)) + STEXI*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected ETEXI, found $str" >&2 + exit 1 + fi + flag=1 + ;; + ETEXI*) + if test $flag -ne 1 ; then + echo "line $line: syntax error: expected STEXI, found $str" >&2 + exit 1 + fi + flag=0 + ;; + SQMP*|EQMP*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected ETEXI, found $str" >&2 + exit 1 + fi ;; DEFHEADING*) echo "$(expr "$str" : "DEFHEADING(\(.*\))")" @@ -32,12 +51,51 @@ hxtotexi() test $flag -eq 1 && echo "$str" ;; esac + line=$((line+1)) + done +} + +hxtoqmp() +{ + IFS= + flag=0 + line=1 + while read -r str; do + case "$str" in + HXCOMM*) + ;; + SQMP*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected EQMP, found $str" >&2 + exit 1 + fi + flag=1 + ;; + EQMP*) + if test $flag -ne 1 ; then + echo "line $line: syntax error: expected SQMP, found $str" >&2 + exit 1 + fi + flag=0 + ;; + STEXI*|ETEXI*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected EQMP, found $str" >&2 + exit 1 + fi + ;; + *) + test $flag -eq 1 && echo "$str" + ;; + esac + line=$((line+1)) done } case "$1" in "-h") hxtoh ;; "-t") hxtotexi ;; +"-q") hxtoqmp ;; *) exit 1 ;; esac |