[PATCH 3/4] hxtool: Split srst/erst add checks

dave@treblig.org posted 4 patches 3 weeks, 4 days ago
Maintainers: "Dr. David Alan Gilbert" <dave@treblig.org>
There is a newer version of this series
[PATCH 3/4] hxtool: Split srst/erst add checks
Posted by dave@treblig.org 3 weeks, 4 days ago
From: "Dr. David Alan Gilbert" <dave@treblig.org>

Split the SRST/ERST case and add some checks.
This is mainly to make it easier to add some checks in following
patches.

Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
---
 scripts/hxtool | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/scripts/hxtool b/scripts/hxtool
index 80516b9437..ea2accef98 100755
--- a/scripts/hxtool
+++ b/scripts/hxtool
@@ -2,15 +2,29 @@
 
 hxtoh()
 {
-    flag=1
+    outsiderst=1
     while read -r str; do
         case $str in
             HXCOMM*)
             ;;
-            SRST*|ERST*) flag=$(($flag^1))
+            SRST*)
+              if [ $outsiderst -eq 0 ]
+              then
+                echo "Error: SRST inside another RST" >&2
+                exit 1
+              fi
+              outsiderst=0
+            ;;
+            ERST*)
+              if [ $outsiderst -eq 1 ]
+              then
+                echo "Error: ERST already outside RST" >&2
+                exit 1
+              fi
+              outsiderst=1
             ;;
             *)
-            test $flag -eq 1 && printf "%s\n" "$str"
+            test $outsiderst -eq 1 && printf "%s\n" "$str"
             ;;
         esac
     done
-- 
2.52.0
Re: [PATCH 3/4] hxtool: Split srst/erst add checks
Posted by Markus Armbruster 3 weeks, 4 days ago
dave@treblig.org writes:

> From: "Dr. David Alan Gilbert" <dave@treblig.org>
>
> Split the SRST/ERST case and add some checks.
> This is mainly to make it easier to add some checks in following
> patches.
>
> Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
> ---
>  scripts/hxtool | 20 +++++++++++++++++---
>  1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/hxtool b/scripts/hxtool
> index 80516b9437..ea2accef98 100755
> --- a/scripts/hxtool
> +++ b/scripts/hxtool
> @@ -2,15 +2,29 @@
>  
>  hxtoh()
>  {
> -    flag=1
> +    outsiderst=1

I parsed this "outsider st" and went "WAT?  Backtrack... aha".  Name it
outside_rst?  in_h?  Or revert sense and call it in_rst?

>      while read -r str; do
>          case $str in
>              HXCOMM*)
>              ;;
> -            SRST*|ERST*) flag=$(($flag^1))
> +            SRST*)
> +              if [ $outsiderst -eq 0 ]
> +              then
> +                echo "Error: SRST inside another RST" >&2
> +                exit 1
> +              fi
> +              outsiderst=0
> +            ;;
> +            ERST*)
> +              if [ $outsiderst -eq 1 ]
> +              then
> +                echo "Error: ERST already outside RST" >&2
> +                exit 1
> +              fi
> +              outsiderst=1
>              ;;
>              *)
> -            test $flag -eq 1 && printf "%s\n" "$str"
> +            test $outsiderst -eq 1 && printf "%s\n" "$str"
>              ;;
>          esac
>      done