From: Rémi Cardona Date: Sun, 17 Aug 2014 23:09:15 +0000 (+0200) Subject: shader-debugger: Force file/stdout IO as UTF-8 X-Git-Tag: intel-gpu-tools-1.8~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2ef19ad79a07d862a2dc799ab2e71d2ad91c9065;p=platform%2Fupstream%2Fintel-gpu-tools.git shader-debugger: Force file/stdout IO as UTF-8 Not all locales on linux are UTF-8, the most notable being the C locale. Python will use the ASCII codec for stream IO in this case and will barf on the Copyright sign at the top of .g4a files. Bugzilla: https://bugs.gentoo.org/show_bug.cgi?id=519434 Signed-off-by: Rémi Cardona Signed-off-by: Damien Lespiau --- diff --git a/debugger/system_routine/pre_cpp.py b/debugger/system_routine/pre_cpp.py index effea0e..584d2af 100755 --- a/debugger/system_routine/pre_cpp.py +++ b/debugger/system_routine/pre_cpp.py @@ -33,7 +33,10 @@ import sys,re -file = open(sys.argv[1], "r") +# make sure both input file and stdout are handled as utf-8 text, regardless +# of current locale (eg. LANG=C which tells python to use ascii encoding) +sys.stdout = open(sys.__stdout__.fileno(), "a", encoding="utf-8") +file = open(sys.argv[1], "r", encoding="utf-8") lines = file.readlines() len(lines)