aboutsummaryrefslogtreecommitdiff
path: root/pylibfdt
diff options
context:
space:
mode:
authorLuca Weiss <luca@z3ntu.xyz>2023-02-01 19:11:13 +0100
committerDavid Gibson <david@gibson.dropbear.id.au>2023-02-05 17:29:25 +1100
commit3f29d6d85c244ad3a74f3b516075d52c0ff35ea6 (patch)
treef5598804864559c616c13bc0939bcdf23c71a80c /pylibfdt
parentabbd523bae6e75545ccff126a4a47218ec0defab (diff)
downloaddtc-3f29d6d85c244ad3a74f3b516075d52c0ff35ea6.zip
dtc-3f29d6d85c244ad3a74f3b516075d52c0ff35ea6.tar.gz
dtc-3f29d6d85c244ad3a74f3b516075d52c0ff35ea6.tar.bz2
pylibfdt: add size_hint parameter for get_path
This also enables us to test the -NOSPACE condition by adding a test setting size_hint=1 so this path is taken. Message-Id: <20230201181112.1644842-1-luca@z3ntu.xyz> Signed-off-by: Luca Weiss <luca@z3ntu.xyz> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'pylibfdt')
-rw-r--r--pylibfdt/libfdt.i8
1 files changed, 4 insertions, 4 deletions
diff --git a/pylibfdt/libfdt.i b/pylibfdt/libfdt.i
index 987f7b9..2361e22 100644
--- a/pylibfdt/libfdt.i
+++ b/pylibfdt/libfdt.i
@@ -443,11 +443,12 @@ class FdtRo(object):
"""
return fdt_get_alias(self._fdt, name)
- def get_path(self, nodeoffset, quiet=()):
+ def get_path(self, nodeoffset, size_hint=1024, quiet=()):
"""Get the full path of a node
Args:
nodeoffset: Node offset to check
+ size_hint: Hint for size of returned string
Returns:
Full path to the node
@@ -455,11 +456,10 @@ class FdtRo(object):
Raises:
FdtException if an error occurs
"""
- size = 1024
while True:
- ret, path = fdt_get_path(self._fdt, nodeoffset, size)
+ ret, path = fdt_get_path(self._fdt, nodeoffset, size_hint)
if ret == -NOSPACE:
- size = size * 2
+ size_hint *= 2
continue
err = check_err(ret, quiet)
if err: