[email protected] writes:

> From: "Dr. David Alan Gilbert" <[email protected]>
>
> Error if a '.name' is seen after another '.name' without an intervening
> SRST, this normally indicates missing or misplaced docs.
>
> We can't check DEF (as used in command line options) because those
> often have multiple DEF per doc.

Pity.

> Signed-off-by: Dr. David Alan Gilbert <[email protected]>
> ---
>  scripts/hxtool | 20 +++++++++++++++++++-
>  1 file changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/hxtool b/scripts/hxtool
> index ea2accef98..f310071daa 100755
> --- a/scripts/hxtool
> +++ b/scripts/hxtool
> @@ -1,8 +1,14 @@
>  #!/bin/sh
>  
> +printifnotrst()

print_if_not_rst()?  print_h()?

> +{
> +    test $outsiderst -eq 1 && printf "%s\n" "$str"
> +}
>  hxtoh()
>  {
>      outsiderst=1
> +    # .name for HMP
> +    seenname=0

I'd prefer seen_name.

>      while read -r str; do
>          case $str in
>              HXCOMM*)
> @@ -13,6 +19,8 @@ hxtoh()
>                  echo "Error: SRST inside another RST" >&2
>                  exit 1
>                fi
> +              # consume the name
> +              seenname=0
>                outsiderst=0
>              ;;
>              ERST*)
> @@ -23,8 +31,18 @@ hxtoh()
>                fi
>                outsiderst=1
>              ;;
> +            # Note the space at the start - we need to exclude something.name
> +             .name*)

This works?!?  It does in my testing.  I'm amazed.

> +              if [ $seenname -eq 1 ]
> +              then
> +                echo "Error: Seen another .name, maybe missing docs?" >&2
> +                exit 1
> +              fi
> +              seenname=1
> +              printifnotrst
> +            ;;
>              *)
> -            test $outsiderst -eq 1 && printf "%s\n" "$str"
> +            printifnotrst
>              ;;
>          esac
>      done

Could move the printing behind the case, and continue the loop in the
case SRST* and ERST*.  No need for the function then.  Matter of taste,
up to you.


Reply via email to