]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Prevent use of 'int' data type & 'ii', 'jj', 'kk' var names for loops
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 8 Jul 2013 14:17:29 +0000 (15:17 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 10 Jul 2013 16:55:17 +0000 (17:55 +0100)
Add two syntax-check rules

 - sc_prohibit_int_ijk - block use of 'int' as a data type
   for any variables named 'i', 'j', 'k'
 - sc_prohibit_int_iijjkk - block use of 'ii', 'jj', 'kk'
   for any variable names

cfg.mk

diff --git a/cfg.mk b/cfg.mk
index 66b49e6c830fff2f897a1c8dd9425fe893495b28..c6a097e125467ef26c368d6a08aa6e8dbe2061a1 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -545,6 +545,17 @@ sc_avoid_attribute_unused_in_header:
        halt='use ATTRIBUTE_UNUSED in .c rather than .h files'          \
          $(_sc_search_regexp)
 
+sc_prohibit_int_ijk:
+       @prohibit='\<(int|unsigned) ([^(]* )*(i|j|k)(\s|,|;)'                   \
+       halt='use size_t, not int/unsigned int for loop vars i, j, k'   \
+         $(_sc_search_regexp)
+
+sc_prohibit_loop_iijjkk:
+       @prohibit='\<(int|unsigned) ([^=]+ )*(ii|jj|kk)(\s|,|;)'                                \
+       halt='use i, j, k for loop iterators, not ii, jj, kk'                   \
+         $(_sc_search_regexp)
+
+
 # Many of the function names below came from this filter:
 # git grep -B2 '\<_('|grep -E '\.c- *[[:alpha:]_][[:alnum:]_]* ?\(.*[,;]$' \
 # |sed 's/.*\.c-  *//'|perl -pe 's/ ?\(.*//'|sort -u \
@@ -972,3 +983,6 @@ exclude_file_name_regexp--sc_prohibit_include_public_headers_quote = \
 
 exclude_file_name_regexp--sc_prohibit_include_public_headers_brackets = \
   ^(python/|tools/|examples/|include/libvirt/(virterror|libvirt-(qemu|lxc))\.h$$)
+
+exclude_file_name_regexp--sc_prohibit_int_ijk = \
+  ^(src/remote_protocol-structs|src/remote/remote_protocol.x|cfg.mk|include/)$