|
|
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.