diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-01-03 00:52:30 -0500 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-01-03 00:52:30 -0500 |
commit | 8840ebcb00f3988c781063e572b6df5742968f95 (patch) | |
tree | e9711f561dff45b31489a7fb539ed98660e26d0e /util/fixwhite | |
parent | a0e8aa6737f534a8e51d866728dd6dc59bef263d (diff) | |
parent | 7d7f3d0e99eca98a5659e73bce56d615f0ed4fc3 (diff) | |
download | gem5-8840ebcb00f3988c781063e572b6df5742968f95.tar.xz |
Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/newmem
--HG--
extra : convert_revision : f4a05accb8fa24d425dd818b1b7f268378180e99
Diffstat (limited to 'util/fixwhite')
-rwxr-xr-x | util/fixwhite | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/util/fixwhite b/util/fixwhite new file mode 100755 index 000000000..3bc1ff0bc --- /dev/null +++ b/util/fixwhite @@ -0,0 +1,83 @@ +#! /usr/bin/env python +# Copyright (c) 2006 The Regents of The University of Michigan +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer; +# redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution; +# neither the name of the copyright holders nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Authors: Nathan Binkert + +import re +import os +import sys +from getopt import getopt, GetoptError + +tabs = re.compile(r'^[ \t]+') +def fixwhite(filename, tabsize): + try: + f = file(filename, 'r+') + except OSError, msg: + print 'could not open file %s: %s' % (filename, msg) + return + + lines = list(f) + + f.seek(0) + f.truncate() + + for line in lines: + if tabs.search(line): + newline = '' + for i,c in enumerate(line): + if c == ' ': + newline += ' ' + elif c == '\t': + newline += ' ' * (tabsize - len(newline) % tabsize) + else: + newline += line[i:] + break + + line = newline + + print >>f, line.rstrip() + +if __name__ == '__main__': + progname = sys.argv[0] + + def usage(code=None): + print >>sys.stderr, '''%s [-t <tabsize>] <filenames>''' % progname + if code is not None: + sys.exit(code) + + try: + opts, args = getopt(sys.argv[1:], '-t:') + except GetoptError: + usage(2) + + tabsize = 8 + for opt,arg in opts: + if opt == '-t': + tabsize = int(arg) + + for filename in args: + fixwhite(filename, tabsize) |