From: Mathieu Bridon Date: Sun, 17 Jun 2018 12:40:31 +0000 (+0200) Subject: python: Explicitly use byte strings X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a71df20855e1d5e875042ca34de9401951fb96a6;p=mesa.git 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 Reviewed-by: Eric Engestrom --- diff --git a/src/intel/genxml/gen_zipped_file.py b/src/intel/genxml/gen_zipped_file.py index 1d6bd568246..616409183f0 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)