Mesa (master): python: Explicitly use byte strings

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Aug 1 13:57:23 UTC 2018


Module: Mesa
Branch: master
Commit: a71df20855e1d5e875042ca34de9401951fb96a6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a71df20855e1d5e875042ca34de9401951fb96a6

Author: Mathieu Bridon <bochecha at daitauha.fr>
Date:   Sun Jun 17 14:40:31 2018 +0200

python: Explicitly use byte strings

In both Python 2 and 3, zlib.Compress.compress() takes a byte string,
and returns a byte string as well.

In Python 2, the script was working because:

1. string literalls were byte strings;
2. opening a file in unicode mode, reading from it, then passing the
   unicode string to compress() would automatically encode to a byte
   string;

On Python 3, the above two points are not valid any more, so:

1. zlib.Compress.compress() refuses the passed unicode string;
2. compressed_data, defined as an empty unicode string literal, can't be
   concatenated with the byte string returned by compress();

This commit fixes this by explicitly using byte strings where
appropriate, so that the script works on both Python 2 and 3.

Signed-off-by: Mathieu Bridon <bochecha at daitauha.fr>
Reviewed-by: Eric Engestrom <eric.engestrom at intel.com>

---

 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 1d6bd56824..616409183f 100644
--- a/src/intel/genxml/gen_zipped_file.py
+++ b/src/intel/genxml/gen_zipped_file.py
@@ -42,10 +42,10 @@ def main():
     print("} genxml_files_table[] = {")
 
     xml_offset = 0
-    compressed_data = ''
+    compressed_data = b''
     for i in range(1, len(sys.argv)):
         filename = sys.argv[i]
-        xml = open(filename).read()
+        xml = open(filename, "rb").read()
         xml_length = len(xml)
         root = et.fromstring(xml)
 




More information about the mesa-commit mailing list