diff options
author | Guido van Rossum <guido@python.org> | 1994-01-07 11:43:11 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-01-07 11:43:11 (GMT) |
commit | 0b7dfbb9b78ca6e8d5fe1239966da248bf8ddd4e (patch) | |
tree | acbd5a5134234a0089738269084530fbc1b4c244 | |
parent | a635b9a6ffac357f1e296f6c6954b5e6280e6eea (diff) | |
download | cpython-0b7dfbb9b78ca6e8d5fe1239966da248bf8ddd4e.zip cpython-0b7dfbb9b78ca6e8d5fe1239966da248bf8ddd4e.tar.gz cpython-0b7dfbb9b78ca6e8d5fe1239966da248bf8ddd4e.tar.bz2 |
Initial revision
-rwxr-xr-x | Tools/scripts/fixheader.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Tools/scripts/fixheader.py b/Tools/scripts/fixheader.py new file mode 100755 index 0000000..8f121fa --- /dev/null +++ b/Tools/scripts/fixheader.py @@ -0,0 +1,49 @@ +#! /usr/local/bin/python + +# Add some standard cpp magic to a header file + +import sys +import string + +def main(): + args = sys.argv[1:] + for file in args: + process(file) + +def process(file): + try: + f = open(file, 'r') + except IOError, msg: + sys.stderr.write('%s: can\'t open: %s\n' % (file, str(msg))) + return + data = f.read() + f.close() + if data[:2] <> '/*': + sys.stderr.write('%s does not begin with C comment\n' % file) + return + try: + f = open(file, 'w') + except IOError, msg: + sys.stderr.write('%s: can\'t write: %s\n' % (file, str(msg))) + return + sys.stderr.write('Processing %s ...\n' % file) + magic = 'Py_' + for c in file: + if c in string.letters + string.digits: + magic = magic + string.upper(c) + else: magic = magic + '_' + sys.stdout = f + print '#ifndef', magic + print '#define', magic + print '#ifdef __cplusplus' + print 'extern "C" {' + print '#endif' + print + f.write(data) + print + print '#ifdef __cplusplus' + print '}' + print '#endif' + print '#endif /*', '!'+magic, '*/' + +main() |