]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Initial revision
authorGuido van Rossum <guido@python.org>
Fri, 7 Jan 1994 11:43:11 +0000 (11:43 +0000)
committerGuido van Rossum <guido@python.org>
Fri, 7 Jan 1994 11:43:11 +0000 (11:43 +0000)
Tools/scripts/fixheader.py [new file with mode: 0755]

diff --git a/Tools/scripts/fixheader.py b/Tools/scripts/fixheader.py
new file mode 100755 (executable)
index 0000000..8f121fa
--- /dev/null
@@ -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()