mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
	
	
		
			51 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | #!/usr/bin/env python | ||
|  | # Copyright (C) 2012   Christian Heimes (christian@python.org) | ||
|  | # Licensed to PSF under a Contributor Agreement. | ||
|  | # | ||
|  | # cleanup Keccak sources | ||
|  | 
 | ||
|  | import os | ||
|  | import re | ||
|  | 
 | ||
|  | CPP1 = re.compile("^//(.*)") | ||
|  | CPP2 = re.compile("\ //(.*)") | ||
|  | 
 | ||
|  | STATICS = ("void ", "int ", "HashReturn ", | ||
|  |            "const UINT64 ", "UINT16 ", "    int prefix##") | ||
|  | 
 | ||
|  | HERE = os.path.dirname(os.path.abspath(__file__)) | ||
|  | KECCAK = os.path.join(HERE, "kcp") | ||
|  | 
 | ||
|  | def getfiles(): | ||
|  |     for name in os.listdir(KECCAK): | ||
|  |         name = os.path.join(KECCAK, name) | ||
|  |         if os.path.isfile(name): | ||
|  |             yield name | ||
|  | 
 | ||
|  | def cleanup(f): | ||
|  |     buf = [] | ||
|  |     for line in f: | ||
|  |         # mark all functions and global data as static | ||
|  |         #if line.startswith(STATICS): | ||
|  |         #    buf.append("static " + line) | ||
|  |         #    continue | ||
|  |         # remove UINT64 typedef, we have our own | ||
|  |         if line.startswith("typedef unsigned long long int"): | ||
|  |             buf.append("/* %s */\n" % line.strip()) | ||
|  |             continue | ||
|  |         ## remove #include "brg_endian.h" | ||
|  |         if "brg_endian.h" in line: | ||
|  |             buf.append("/* %s */\n" % line.strip()) | ||
|  |             continue | ||
|  |         # transform C++ comments into ANSI C comments | ||
|  |         line = CPP1.sub(r"/*\1 */\n", line) | ||
|  |         line = CPP2.sub(r" /*\1 */\n", line) | ||
|  |         buf.append(line) | ||
|  |     return "".join(buf) | ||
|  | 
 | ||
|  | for name in getfiles(): | ||
|  |     with open(name) as f: | ||
|  |         res = cleanup(f) | ||
|  |     with open(name, "w") as f: | ||
|  |         f.write(res) |