mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +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
	
	 Guido van Rossum
						Guido van Rossum