diff options
author | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@localhost> | 2011-05-03 11:25:13 +0000 |
commit | 458120dd40db6b4df55a4e96b650e16798ef06a0 (patch) | |
tree | 8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Tools/scripts/fixheader.py | |
parent | 3a742c699f6806c1145aea5149bf15de15a0afd7 (diff) |
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Tools/scripts/fixheader.py')
-rwxr-xr-x | sys/src/cmd/python/Tools/scripts/fixheader.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Tools/scripts/fixheader.py b/sys/src/cmd/python/Tools/scripts/fixheader.py new file mode 100755 index 000000000..1bf5c526b --- /dev/null +++ b/sys/src/cmd/python/Tools/scripts/fixheader.py @@ -0,0 +1,49 @@ +#! /usr/bin/env python + +# Add some standard cpp magic to a header file + +import sys + +def main(): + args = sys.argv[1:] + for filename in args: + process(filename) + +def process(filename): + try: + f = open(filename, 'r') + except IOError, msg: + sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg))) + return + data = f.read() + f.close() + if data[:2] <> '/*': + sys.stderr.write('%s does not begin with C comment\n' % filename) + return + try: + f = open(filename, 'w') + except IOError, msg: + sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg))) + return + sys.stderr.write('Processing %s ...\n' % filename) + magic = 'Py_' + for c in filename: + if ord(c)<=0x80 and c.isalnum(): + magic = magic + c.upper() + 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, '*/' + +if __name__ == '__main__': + main() |