diff options
Diffstat (limited to 'python/firstheader.py')
| -rw-r--r-- | python/firstheader.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/python/firstheader.py b/python/firstheader.py new file mode 100644 index 0000000000..bf50f33a33 --- /dev/null +++ b/python/firstheader.py @@ -0,0 +1,30 @@ +# +# check that the first header included in C files is either +# zebra.h or config.h +# + +import sys, os, re, subprocess + +include_re = re.compile('^#\s*include\s+["<]([^ ">]+)[">]', re.M) + +errors = 0 + +files = subprocess.check_output(["git", "ls-files"]).decode("ASCII") +for fn in files.splitlines(): + if not fn.endswith(".c"): + continue + if fn.startswith("tools/"): + continue + with open(fn, "r") as fd: + data = fd.read() + m = include_re.search(data) + if m is None: + # sys.stderr.write('no #include in %s?\n' % (fn)) + continue + if m.group(1) in ["config.h", "zebra.h", "lib/zebra.h"]: + continue + sys.stderr.write("%s: %s\n" % (fn, m.group(0))) + errors += 1 + +if errors: + sys.exit(1) |
