]> git.proxmox.com Git - mirror_qemu.git/blame_incremental - scripts/hxtool
trace: avoid SystemTap dtrace(1) warnings on empty files
[mirror_qemu.git] / scripts / hxtool
... / ...
CommitLineData
1#!/bin/sh
2
3hxtoh()
4{
5 flag=1
6 while read -r str; do
7 case $str in
8 HXCOMM*)
9 ;;
10 STEXI*|ETEXI*) flag=$(($flag^1))
11 ;;
12 *)
13 test $flag -eq 1 && printf "%s\n" "$str"
14 ;;
15 esac
16 done
17}
18
19print_texi_heading()
20{
21 if test "$*" != ""; then
22 title="$*"
23 printf "@subsection %s\n" "${title%:}"
24 fi
25}
26
27hxtotexi()
28{
29 flag=0
30 line=1
31 while read -r str; do
32 case "$str" in
33 HXCOMM*)
34 ;;
35 STEXI*)
36 if test $flag -eq 1 ; then
37 printf "line %d: syntax error: expected ETEXI, found '%s'\n" "$line" "$str" >&2
38 exit 1
39 fi
40 flag=1
41 ;;
42 ETEXI*)
43 if test $flag -ne 1 ; then
44 printf "line %d: syntax error: expected STEXI, found '%s'\n" "$line" "$str" >&2
45 exit 1
46 fi
47 flag=0
48 ;;
49 DEFHEADING*)
50 print_texi_heading "$(expr "$str" : "DEFHEADING(\(.*\))")"
51 ;;
52 ARCHHEADING*)
53 print_texi_heading "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
54 ;;
55 *)
56 test $flag -eq 1 && printf '%s\n' "$str"
57 ;;
58 esac
59 line=$((line+1))
60 done
61}
62
63case "$1" in
64"-h") hxtoh ;;
65"-t") hxtotexi ;;
66*) exit 1 ;;
67esac
68
69exit 0