de6b4f908c
Commit 43f187a broke --help: it put colons into blank lines. It removed the colon from DEFHEADING(TITLE:) and added it back in the macro expansion of DEFHEADING(TITLE), so hxtool can emit "@subsection TITLE" more easily. Trouble is it's added back even for the blank lines made with DEFHEADING(). Put the colons back where they were before commit 43f187a, and strip them in hxtool instead. Cc: Paolo Bonzini <pbonzini@redhat.com> CC: qemu-stable@nongnu.org Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20171002140307.5292-2-armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
70 lines
1.4 KiB
Bash
70 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
hxtoh()
|
|
{
|
|
flag=1
|
|
while read -r str; do
|
|
case $str in
|
|
HXCOMM*)
|
|
;;
|
|
STEXI*|ETEXI*) flag=$(($flag^1))
|
|
;;
|
|
*)
|
|
test $flag -eq 1 && printf "%s\n" "$str"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
print_texi_heading()
|
|
{
|
|
if test "$*" != ""; then
|
|
title="$*"
|
|
printf "@subsection %s\n" "${title%:}"
|
|
fi
|
|
}
|
|
|
|
hxtotexi()
|
|
{
|
|
flag=0
|
|
line=1
|
|
while read -r str; do
|
|
case "$str" in
|
|
HXCOMM*)
|
|
;;
|
|
STEXI*)
|
|
if test $flag -eq 1 ; then
|
|
printf "line %d: syntax error: expected ETEXI, found '%s'\n" "$line" "$str" >&2
|
|
exit 1
|
|
fi
|
|
flag=1
|
|
;;
|
|
ETEXI*)
|
|
if test $flag -ne 1 ; then
|
|
printf "line %d: syntax error: expected STEXI, found '%s'\n" "$line" "$str" >&2
|
|
exit 1
|
|
fi
|
|
flag=0
|
|
;;
|
|
DEFHEADING*)
|
|
print_texi_heading "$(expr "$str" : "DEFHEADING(\(.*\))")"
|
|
;;
|
|
ARCHHEADING*)
|
|
print_texi_heading "$(expr "$str" : "ARCHHEADING(\(.*\),.*)")"
|
|
;;
|
|
*)
|
|
test $flag -eq 1 && printf '%s\n' "$str"
|
|
;;
|
|
esac
|
|
line=$((line+1))
|
|
done
|
|
}
|
|
|
|
case "$1" in
|
|
"-h") hxtoh ;;
|
|
"-t") hxtotexi ;;
|
|
*) exit 1 ;;
|
|
esac
|
|
|
|
exit 0
|