1#!/usr/bin/env python3
2#
3# Checks some of the GNU style formatting rules in a set of patches.
4# The script is a rewritten of the same bash script and should eventually
5# replace the former script.
6#
7# This file is part of GCC.
8#
9# GCC is free software; you can redistribute it and/or modify it under
10# the terms of the GNU General Public License as published by the Free
11# Software Foundation; either version 3, or (at your option) any later
12# version.
13#
14# GCC is distributed in the hope that it will be useful, but WITHOUT ANY
15# WARRANTY; without even the implied warranty of MERCHANTABILITY or
16# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
17# for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with GCC; see the file COPYING3.  If not see
21# <http://www.gnu.org/licenses/>.  */
22
23import argparse
24import sys
25from check_GNU_style_lib import check_GNU_style_file
26
27def main():
28    parser = argparse.ArgumentParser(description='Check GNU coding style.')
29    parser.add_argument('file', help = 'File with a patch')
30    parser.add_argument('-f', '--format', default = 'stdio',
31        help = 'Display format',
32        choices = ['stdio', 'quickfix'])
33    args = parser.parse_args()
34    filename = args.file
35    format = args.format
36
37    if filename == '-':
38        check_GNU_style_file(sys.stdin, None, format)
39    else:
40        with open(filename, 'rb') as diff_file:
41            check_GNU_style_file(diff_file, 'utf-8', format)
42
43main()
44