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(a)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 :|