[libvirt] [PATCH v2 16/16] Require K&R styled curly braces around function bodies

Daniel P. Berrange berrange at redhat.com
Thu Mar 20 15:27:33 UTC 2014


On Wed, Mar 19, 2014 at 12:18:56PM +0100, Martin Kletzander wrote:
> Although not explicitly requested, we are using K&R (or Kernel)
> indentation for curly braces around functions in HACKING file and most
> of the code.  Using grep -P, this patch add the syntax-check rule for
> it (while skipping all the false positives with foreach constructs).
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
> 
> Notes:
>     Unfortunately, the regexp is meant to catch as much as possible and
>     thus one line functions must occupy two lines, e.g.:
>     
>     static inline int getuid(void) { return 0; }
>     
>     is not valid.  This can be changed by appending $$ to the end of the
>     regexp which I didn't want to do since it might not catch something
>     else I haven't thought of.

I think that's an acceptable limitation. We don't have many of those
single line functions, so it isn't worth worrying about them.

> diff --git a/cfg.mk b/cfg.mk
> index 7a65d1e..559f719 100644
> --- a/cfg.mk
> +++ b/cfg.mk
> @@ -898,6 +898,13 @@ sc_prohibit_virConnectOpen_in_virsh:
>  	halt='Use vshConnect() in virsh instead of virConnectOpen*'    \
>  	  $(_sc_search_regexp)
> 
> +sc_curly_braces_style:
> +	@files=$$($(VC_LIST_EXCEPT) | grep '\.[ch]$$');                \
> +	$(GREP) -nHP                                                   \
> +'^\s*(?!([a-zA-Z_]*for_?each[a-zA-Z_]*) ?\()([_a-zA-Z0-9]+( [_a-zA-Z0-9]+)* ?\()?(\*?[_a-zA-Z0-9]+(,? \*?[_a-zA-Z0-9\[\]]+)+|void)\) ?\{' \
> +	$$files && { echo '$(ME): Non-K&R style used for curly'        \
> +			  'braces around function body, see'           \
> +			  'HACKING' 1>&2; exit 1; } || :

ACK

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list