[Mesa-dev] [PATCH 14/26] python: Better get character ordinals

Mathieu Bridon bochecha at daitauha.fr
Thu Jul 5 13:17:45 UTC 2018


In Python 2, iterating over a byte-string yields single-byte strings,
and we can pass them to ord() to get the corresponding integer.

In Python 3, iterating over a byte-string directly yields those
integers.

Transforming the byte string into a bytearray gives us a list of the
integers corresponding to each byte in the string, removing the need to
call ord().

This makes the script compatible with both Python 2 and 3.

Signed-off-by: Mathieu Bridon <bochecha at daitauha.fr>
---
 src/intel/genxml/gen_zipped_file.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/intel/genxml/gen_zipped_file.py b/src/intel/genxml/gen_zipped_file.py
index 6d8daf4d69..616409183f 100644
--- a/src/intel/genxml/gen_zipped_file.py
+++ b/src/intel/genxml/gen_zipped_file.py
@@ -62,8 +62,8 @@ def main():
     print("")
     print("static const uint8_t compress_genxmls[] = {")
     print("   ", end='')
-    for i, c in enumerate(compressed_data, start=1):
-        print("0x%.2x, " % ord(c), end='\n   ' if not i % 12 else '')
+    for i, c in enumerate(bytearray(compressed_data), start=1):
+        print("0x%.2x, " % c, end='\n   ' if not i % 12 else '')
     print('\n};')
 
 
-- 
2.17.1



More information about the mesa-dev mailing list