Module: Mesa Branch: master Commit: 14f1ab998fcdcd8fec43c3da8ef03af4af2d3966 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=14f1ab998fcdcd8fec43c3da8ef03af4af2d3966
Author: Mathieu Bridon <boche...@daitauha.fr> Date: Thu Aug 9 10:27:21 2018 +0200 python: Do not mix bytes and unicode strings Mixing the two is a long-standing recipe for errors in Python 2, so much so that Python 3 now completely separates them. This commit stops treating both as if they were the same, and in the process makes the script compatible with both Python 2 and 3. Signed-off-by: Mathieu Bridon <boche...@daitauha.fr> Reviewed-by: Eric Engestrom <eric.engest...@intel.com> Reviewed-by: Dylan Baker <dy...@pnwbakers.com> --- src/compiler/nir/nir_algebraic.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_algebraic.py b/src/compiler/nir/nir_algebraic.py index a84c41a78f..5baeea88af 100644 --- a/src/compiler/nir/nir_algebraic.py +++ b/src/compiler/nir/nir_algebraic.py @@ -35,6 +35,12 @@ import traceback from nir_opcodes import opcodes +if sys.version_info < (3, 0): + string_type = unicode + +else: + string_type = str + _type_re = re.compile(r"(?P<type>int|uint|bool|float)?(?P<bits>\d+)?") def type_bits(type_str): @@ -66,11 +72,14 @@ class VarSet(object): class Value(object): @staticmethod def create(val, name_base, varset): + if isinstance(val, bytes): + val = val.decode('utf-8') + if isinstance(val, tuple): return Expression(val, name_base, varset) elif isinstance(val, Expression): return val - elif isinstance(val, (str, unicode)): + elif isinstance(val, string_type): return Variable(val, name_base, varset) elif isinstance(val, (bool, int, long, float)): return Constant(val, name_base) _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit