From 6c913ba5f353741fc8284f54675b26943ecc7b8b Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Thu, 20 May 2010 09:16:33 +0200 Subject: [PATCH] hxtool: Add syntax error detection Add basic imbalance detection for STEXT/ETEXI. Signed-off-by: Jan Kiszka Signed-off-by: Blue Swirl --- hxtool | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/hxtool b/hxtool index 0fdbc641c6..8f655320be 100644 --- a/hxtool +++ b/hxtool @@ -19,11 +19,24 @@ hxtoh() hxtotexi() { flag=0 + line=1 while read -r str; do case "$str" in HXCOMM*) ;; - STEXI*|ETEXI*) flag=$(($flag^1)) + STEXI*) + if test $flag -eq 1 ; then + echo "line $line: syntax error: expected ETEXI, found $str" >&2 + exit 1 + fi + flag=1 + ;; + ETEXI*) + if test $flag -ne 1 ; then + echo "line $line: syntax error: expected STEXI, found $str" >&2 + exit 1 + fi + flag=0 ;; DEFHEADING*) echo "$(expr "$str" : "DEFHEADING(\(.*\))")" @@ -32,6 +45,7 @@ hxtotexi() test $flag -eq 1 && echo "$str" ;; esac + line=$((line+1)) done }