X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=tools%2Fcstyle.py;h=7b7806bbb408d0216ab46f37a3d3054ceae46180;hb=17f5fb81d2c9d2394f62169b90c15bf371b44f6c;hp=d5d7391dffbac3da27caffedfc8e9c9c83e51cef;hpb=d0aefb28b99cb8e977a9f1d59f5df04106eb352f;p=ardour.git diff --git a/tools/cstyle.py b/tools/cstyle.py index d5d7391dff..7b7806bbb4 100755 --- a/tools/cstyle.py +++ b/tools/cstyle.py @@ -112,9 +112,11 @@ class CStyleChecker: self.indent_re = re.compile ("^\s*") self.last_line_indent = "" self.last_line_indent_curly = False - self.re_checks = \ + self.error_checks = \ [ ( re.compile ("^ "), "leading space as indentation instead of tab - use tabs to indent, spaces to align" ) - , ( re.compile ("{[^\s]"), "missing space after open brace" ) + ] + self.warning_checks = \ + [ ( re.compile ("{[^\s]"), "missing space after open brace" ) , ( re.compile ("[^\s]}"), "missing space before close brace" ) , ( re.compile ("^[ \t]+$"), "empty line contains whitespace" ) , ( re.compile ("[^\s][ \t]+$"), "contains trailing whitespace" ) @@ -141,6 +143,7 @@ class CStyleChecker: , ( re.compile ("\s+return\s+\([a-zA-Z0-9_]+\)\s+;"), "parens around return value" ) ] + def get_error_count (self): """ @@ -204,14 +207,20 @@ class CStyleChecker: else: self.last_line_indent_curly = False - # Now all the regex checks. - for (check_re, msg) in self.re_checks: + # Now all the stylistic warnings regex checks. + for (check_re, msg) in self.warning_checks: + if check_re.search (line): + self.warning (msg) + + # Now all the stylistic error regex checks. + for (check_re, msg) in self.error_checks: if check_re.search (line): self.error (msg) + if re.search ("[a-zA-Z0-9_][<>!=^/&\|]{1,2}[a-zA-Z0-9_]", line): # ignore #include and C++ templates with indirection/pointer/reference operators - if not re.search (".*#include.*[a-zA-Z0-9]/[a-zA-Z]", line) and not re.search ("[a-zA-Z0-9_]>[&\*]", line): + if not re.search (".*#include.*[a-zA-Z0-9]/[a-zA-Z]", line) and not re.search ("[a-zA-Z0-9_]>[&\*]*\s", line): self.error ("missing space around operator") self.last_line_indent = indent @@ -221,11 +230,19 @@ class CStyleChecker: """ Print an error message and increment the error count. """ - print ("%s (%d) : %s" % (self.filename, self.line_num, msg)) + print ("%s (%d) : STYLE ERROR %s" % (self.filename, self.line_num, msg)) if self.debug: print ("'" + self.orig_line + "'") self.error_count += 1 + def warning (self, msg): + """ + Print a warning message and increment the error count. + """ + print ("%s (%d) : STYLE WARNING %s" % (self.filename, self.line_num, msg)) + if self.debug: + print ("'" + self.orig_line + "'") + #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- if len (sys.argv) < 1: