[libvirt] [PATCH 1/4] syntax-check: Don't include duplicate header

Osier Yang jyang at redhat.com
Wed Apr 17 10:25:28 UTC 2013


Oops, ignore this please, it's on top of the old commit.

On 17/04/13 18:21, Osier Yang wrote:
> gnulib is excluded.
> ---
>   cfg.mk | 24 +++++++++++++-----------
>   1 file changed, 13 insertions(+), 11 deletions(-)
>
> diff --git a/cfg.mk b/cfg.mk
> index 71f7ee4..dd67816 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -724,25 +724,27 @@ sc_prohibit_exit_in_tests:
>   
>   # Don't include duplicate header in the source (either *.c or *.h)
>   sc_prohibit_duplicate_header:
> -	@for i in $$($(VC_LIST_EXCEPT) | grep '\.[ch]$$'); do		\
> -	  awk 'BEGIN {							\
> -	    FS=" ";							\
> -	    fail=0;							\
> -	  }								\
> -	  /^# *include.*\.h[">]$$/ {					\
> -	    arr[$$NF]++;						\
> +	@fail=0; for i in $$($(VC_LIST_EXCEPT) | grep '\.[chx]$$'); do	\
> +	  awk '/# *include.*\.h/ {					\
> +	    match($$0, /[<"][^>"]*[">]/);				\
> +	    arr[substr($$0, RSTART + 1, RLENGTH - 2)]++;		\
>   	  }								\
>   	  END {								\
>   	    for (key in arr) {						\
> -	      if (arr[key] > 1) {					\
> +	      if (arr[key] > 1)	{					\
>   		fail=1;							\
>   		printf("%d %s are included\n", arr[key], key);		\
>   	      }								\
>   	    }								\
> -	    if (fail == 1)						\
> +	    if (fail == 1) {						\
> +	      printf("duplicate header(s) in " FILENAME "\n");		\
>   	      exit 1;							\
> -	  }' $$i || { echo "Duplicate header(s) in $$i"; exit 1; };	\
> -	done
> +	    }								\
> +	  }' $$i || fail=1;						\
> +	done;								\
> +	if test $$fail -eq 1; then					\
> +	  { echo "$(ME)": avoid duplicate headers >&2; exit 1; }	\
> +	fi;
>   
>   # We don't use this feature of maint.mk.
>   prev_version_file = /dev/null




More information about the libvir-list mailing list