From: Simon Glass Date: Tue, 26 Jul 2016 00:59:13 +0000 (-0600) Subject: dtoc: Move to using bytearray X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=0170804f60b19a2033ac39964fcd192a0c7eda42;p=u-boot.git dtoc: Move to using bytearray Since we want to be able to change the in-memory device tree using libfdt, use a bytearray instead of a string. This makes interfacing from Python easier. Signed-off-by: Simon Glass --- diff --git a/lib/libfdt/libfdt.swig b/lib/libfdt/libfdt.swig index 14f583dfbe..26d42fc5d6 100644 --- a/lib/libfdt/libfdt.swig +++ b/lib/libfdt/libfdt.swig @@ -75,6 +75,14 @@ struct fdt_property { } %} +%typemap(in) (const void *) { + if (!PyByteArray_Check($input)) { + SWIG_exception_fail(SWIG_TypeError, "in method '" "$symname" "', argument " + "$argnum"" of type '" "$type""'"); + } + $1 = (void *) PyByteArray_AsString($input); +} + const void *fdt_offset_ptr(const void *fdt, int offset, unsigned int checklen); int fdt_path_offset(const void *fdt, const char *path); int fdt_first_property_offset(const void *fdt, int nodeoffset); diff --git a/tools/dtoc/fdt_normal.py b/tools/dtoc/fdt_normal.py index 4a667a115d..eb45742a10 100644 --- a/tools/dtoc/fdt_normal.py +++ b/tools/dtoc/fdt_normal.py @@ -110,7 +110,7 @@ class FdtNormal(Fdt): self._fname = fdt_util.EnsureCompiled(self._fname) with open(self._fname) as fd: - self._fdt = fd.read() + self._fdt = bytearray(fd.read()) def GetFdt(self): """Get the contents of the FDT