]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
dtoc: Decode strings for struct.unpack on python 3.x
authorPaul Burton <paul.burton@imgtec.com>
Tue, 27 Sep 2016 15:03:57 +0000 (16:03 +0100)
committersjg <sjg@chromium.org>
Sun, 9 Oct 2016 15:30:32 +0000 (09:30 -0600)
On python 3.x struct.unpack will complain if we provide it with a
string since it expects to operate on a bytes object. In order to
satisfy this requirement, encode the string to a bytes object when
running on python 3.x.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Acked-by: Simon Glass <sjg@chromium.org>
tools/dtoc/fdt_util.py

index 3a108381099e613a81fdf62e2f4727b8fb034b31..e6d523b9de65699ec08ebf863b1e614699d16b9c 100644 (file)
@@ -8,6 +8,7 @@
 
 import os
 import struct
+import sys
 import tempfile
 
 import command
@@ -22,6 +23,8 @@ def fdt32_to_cpu(val):
     Return:
         A native-endian integer value
     """
+    if sys.version_info > (3, 0):
+        val = val.encode('raw_unicode_escape')
     return struct.unpack('>I', val)[0]
 
 def EnsureCompiled(fname):