diff options
| author | Scott Shawcroft <scott@adafruit.com> | 2019-08-06 14:13:48 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-06 14:13:48 -0700 |
| commit | 47a0b7cba141efb0909d74db3401ae902f6e9a96 (patch) | |
| tree | 9c0b34eecc0cbbb5c161dc875bdaaeaf401fc921 /py | |
| parent | 1e8800117a8b727fbee708bc352e958498f45472 (diff) | |
| parent | c4f3a02b3bd3709fd0e07ed07b372b3d5ec3815d (diff) | |
Merge pull request #2042 from jepler/qstr-expansion
makeqstrdata: permit longer "compressed" outputs
Diffstat (limited to 'py')
| -rw-r--r-- | py/makeqstrdata.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/py/makeqstrdata.py b/py/makeqstrdata.py index 5b5ec1c37..8e3835d86 100644 --- a/py/makeqstrdata.py +++ b/py/makeqstrdata.py @@ -180,7 +180,7 @@ def compress(encoding_table, decompressed): if not isinstance(decompressed, bytes): raise TypeError() values, lengths = encoding_table - enc = bytearray(len(decompressed)) + enc = bytearray(len(decompressed) * 2) #print(decompressed) #print(lengths) current_bit = 7 @@ -227,6 +227,8 @@ def compress(encoding_table, decompressed): current_bit -= 1 if current_bit != 7: current_byte += 1 + if current_byte > len(decompressed): + print("Note: compression increased length", repr(decompressed.decode('utf-8')), len(decompressed), current_byte, file=sys.stderr) return enc[:current_byte] def qstr_escape(qst): |
