
Hi Alper,
On Tue, 15 Feb 2022 at 04:53, Alper Nebi Yasak alpernebiyasak@gmail.com wrote:
On 08/02/2022 21:49, Simon Glass wrote:
Add a new function to add a string list.
Signed-off-by: Simon Glass sjg@chromium.org
tools/dtoc/fdt.py | 18 ++++++++++++++++++ tools/dtoc/test_fdt.py | 8 ++++++++ 2 files changed, 26 insertions(+)
diff --git a/tools/dtoc/fdt.py b/tools/dtoc/fdt.py index 32a7aa9829..e7197f8f12 100644 --- a/tools/dtoc/fdt.py +++ b/tools/dtoc/fdt.py @@ -501,6 +501,24 @@ class Node: val = bytes(val, 'utf-8') return self.AddData(prop_name, val + b'\0')
- def AddStringList(self, prop_name, val):
"""Add a new string-list property to a node
The device tree is marked dirty so that the value will be written to
the blob on the next sync.
Args:
prop_name: Name of property to add
val (list of str): List of strings to add
Returns:
Prop added
"""
out = b''
for string in val:
out += bytes(string, 'utf-8') + b'\0'
return self.AddData(prop_name, out)
If val is an empty list this would try to set a zero-byte data, but then the Prop class considers that a boolean True.
Yes, but I believe that is correct, isn't it? I did propose a change to DT bool props but it has not got anywhere.
Perhaps use "s" as the variable name as there's a "string" module (though not imported here).
Also, b'\0'.join() works just like in strings if you prefer that to a loop.
OK, will update both of those.
Regards, Simon