xemu/scripts/hxtool
Markus Armbruster de6b4f908c qemu-options: Remove stray colons from output of --help
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>
2017-12-20 09:04:27 +01:00

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