Path: blob/main/crypto/krb5/src/util/krb5-mark-cstyle.py
34878 views
from optparse import OptionParser1import os2import re3import sys45styles = {6"bsd":7"/* -*- mode: c; c-file-style: \"bsd\"; indent-tabs-mode: t -*- */\n",8"krb5":9"/* -*- mode: c; c-basic-offset: 4; indent-tabs-mode: nil -*- */\n"10}1112def dofile(fname, style):13changed = False14newname = fname + ".new"15infile = open(fname)16outfile = open(newname, "w")17first = next(infile)18if (first != style):19changed = True20outfile.write(style)21if re.match(r"""\s*/\*\s*-\*-.*-\*-\s*\*/""", first):22# Replace first line if it was already a local variables line.23pass24else:25outfile.write(first)2627# Simply copy remaining lines.28for line in infile:29outfile.write(line)3031infile.close()32outfile.close()3334if changed:35os.rename(newname, fname)36else:37os.remove(newname)3839parser = OptionParser()40parser.add_option("--cstyle", action="store", dest="style",41choices=("bsd", "krb5"), default="krb5")42(options, args) = parser.parse_args()4344for fname in args:45print(fname)46dofile(fname, styles[options.style])474849