[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3] decodetree: Open files with encoding='utf-8'
From: |
Richard Henderson |
Subject: |
Re: [PATCH v3] decodetree: Open files with encoding='utf-8' |
Date: |
Mon, 11 Jan 2021 08:28:04 -1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 1/9/21 2:02 PM, Philippe Mathieu-Daudé wrote:
> When decodetree.py was added in commit 568ae7efae7, QEMU was
> using Python 2 which happily reads UTF-8 files in text mode.
> Python 3 requires either UTF-8 locale or an explicit encoding
> passed to open(). Now that Python 3 is required, explicit
> UTF-8 encoding for decodetree source files.
>
> To avoid further problems with the user locale, also explicit
> UTF-8 encoding for the generated C files.
>
> Explicit both input/output are plain text by using the 't' mode.
>
> This fixes:
>
> $ /usr/bin/python3 scripts/decodetree.py test.decode
> Traceback (most recent call last):
> File "scripts/decodetree.py", line 1397, in <module>
> main()
> File "scripts/decodetree.py", line 1308, in main
> parse_file(f, toppat)
> File "scripts/decodetree.py", line 994, in parse_file
> for line in f:
> File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
> return codecs.ascii_decode(input, self.errors)[0]
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 80:
> ordinal not in range(128)
>
> Reported-by: Peter Maydell <peter.maydell@linaro.org>
> Suggested-by: Yonggang Luo <luoyonggang@gmail.com>
> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> v3: utf-8 stdout (Eduardo and Yonggang Luo)
> v2: utf-8 output too (Peter)
> explicit default text mode.
> ---
> scripts/decodetree.py | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
Thanks. Queued to tcg-next.
r~