[libvirt] [PATCH 1/4] syntax-check: Don't include duplicate header
Eric Blake
eblake at redhat.com
Wed Apr 17 19:43:50 UTC 2013
On 04/17/2013 04:25 AM, Osier Yang wrote:
> gnulib is excluded.
> ---
> cfg.mk | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
Looks like this patch is supposed to come before the patch named
[1/3] syntax-check: Don't include public headers in internal source
>
> diff --git a/cfg.mk b/cfg.mk
> index e60c4e3..dd67816 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -722,6 +722,30 @@ sc_prohibit_exit_in_tests:
> halt='use return, not exit(), in tests' \
> $(_sc_search_regexp)
>
> +# Don't include duplicate header in the source (either *.c or *.h)
> +sc_prohibit_duplicate_header:
> + @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) { \
> + fail=1; \
> + printf("%d %s are included\n", arr[key], key); \
> + } \
> + } \
> + if (fail == 1) { \
> + printf("duplicate header(s) in " FILENAME "\n"); \
> + exit 1; \
> + } \
> + }' $$i || fail=1; \
> + done; \
> + if test $$fail -eq 1; then \
> + { echo "$(ME)": avoid duplicate headers >&2; exit 1; } \
> + fi;
> +
ACK.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130417/cb2dfa39/attachment-0001.sig>
More information about the libvir-list
mailing list