mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
Initial revision
This commit is contained in:
parent
a635b9a6ff
commit
0b7dfbb9b7
1 changed files with 49 additions and 0 deletions
49
Tools/scripts/fixheader.py
Executable file
49
Tools/scripts/fixheader.py
Executable file
|
@ -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()
|
Loading…
Add table
Add a link
Reference in a new issue