File:  [Qemu by Fabrice Bellard] / qemu / scripts / hxtool
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:42:42 2018 UTC (3 years, 4 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1001, qemu1000, qemu0151, qemu0150, qemu0141, qemu0140, HEAD
qemu 0.14.0

    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

unix.superglobalmegacorp.com