On Thursday, 2018-07-05 15:17:44 +0200, Mathieu Bridon wrote:
> 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
> ---
> 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 af2008bea0..6d8daf4d69 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)
>
> --
> 2.17.1
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev