From 8b055201c01d3ac5816b687792ce2f179d1bf9ef Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 15 Sep 2020 11:52:41 -0400 Subject: Implement xor_compress in C --- tools/xor_compress.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'tools/xor_compress.py') diff --git a/tools/xor_compress.py b/tools/xor_compress.py index 6deb2aa..b3bf317 100644 --- a/tools/xor_compress.py +++ b/tools/xor_compress.py @@ -9,7 +9,7 @@ for filename in sys.argv[1:]: with open(filename, 'rb') as f: data.extend(f.read()) -n = len(data) +n = len(data) output = bytearray() v = 0x00 i = 0 @@ -20,14 +20,14 @@ while i < n: if data[i] == v: # Alternating (>= 0x80) - # Run stops at 0x81 bytes or when the values stop alternating - size = 1 - while i < n and size < 0x81 and data[i] == (v if size % 2 else byte): + # Run stops at 0x80 bytes or when the values stop alternating + size = 0 + while i < n and size < 0x80 and data[i] == (byte if size % 2 else v): size += 1 i += 1 - output.append(size + 0x7e) + output.append(size + 0x7f) output.append(v ^ byte) - if size % 2: + if not size % 2: v = byte else: -- cgit v1.2.3