Add exceptions to max_cols rule.
Review URL: http://codereview.chromium.org/42019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11340 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 6809548..5744641 100755
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -64,6 +64,7 @@
Note that the whole file is checked, not only the changes.
"""
+ C_SOURCE_FILE_EXTENSIONS = ('.c', '.cc', '.cpp', '.h', '.inl')
cr_files = []
eof_files = []
results = []
@@ -103,8 +104,13 @@
local_errors.append(output_api.PresubmitError(
'%s, line %s ends with whitespaces.' %
(path, line_num)))
- # Accept lines with http:// to exceed the max_cols rule.
- if max_cols and len(line) > max_cols and not 'http://' in line:
+ # Accept lines with http://, https:// and C #define/#pragma/#include to
+ # exceed the max_cols rule.
+ if (max_cols and
+ len(line) > max_cols and
+ not 'http://' in line and
+ not 'https://' in line and
+ not (line[0] == '#' and ext in C_SOURCE_FILE_EXTENSIONS)):
local_errors.append(output_api.PresubmitError(
'%s, line %s has %s chars, please reduce to %d chars.' %
(path, line_num, len(line), max_cols)))