import os
import sys
def changeStamp(gcda: str, gcno: str):
with open(gcda, 'rb+') as gcdaf:
with open(gcno, 'rb+') as gcnof:
gcdaf.seek(8)
stamp = gcdaf.read(4)
gcnof.seek(8)
gcnof.write(stamp)
def walkdir(file):
for root, dirs, files in os.walk(file):
for f in files:
fullname = os.path.join(root, f)
ss=os.path.splitext(fullname)
if ss[1] != ".gcno":
continue
if not (os.path.exists(ss[0] + ".gcno") and
os.path.exists(ss[0] + ".gcda")):
continue
changeStamp(
ss[0] + ".gcno",
ss[0] + ".gcda",
)
print("deal: ", ss[0])
if __name__ == "__main__":
argc = len(sys.argv)
if argc < 2:
print("Usage: " +
os.path.basename(sys.argv[0]) +
" path")
sys.exit()
walkdir(sys.argv[1])