pylibfdt: Correct the type for fdt_property_stub()

This function should use a void * type, not char *. This causes an error:

TypeError: in method 'fdt_property_stub', argument 3 of type 'char const *'

Fix it and update the tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
Message-Id: <20191025010226.34378-1-sjg@chromium.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Simon Glass 2019-10-24 19:02:26 -06:00 committed by David Gibson
parent 430419c281
commit fdf3f6d897
2 changed files with 6 additions and 5 deletions

View file

@ -18,7 +18,7 @@
* a struct called fdt_property. That struct causes swig to create a class in
* libfdt.py called fdt_property(), which confuses things.
*/
static int fdt_property_stub(void *fdt, const char *name, const char *val,
static int fdt_property_stub(void *fdt, const char *name, const void *val,
int len)
{
return fdt_property(fdt, name, val, len);
@ -930,7 +930,7 @@ class FdtSw(FdtRo):
Args:
name: Name of property to add
val: Value of property
val: Value of property (bytes)
quiet: Errors to ignore (empty to raise on all errors)
Raises:
@ -1113,6 +1113,6 @@ int fdt_property_cell(void *fdt, const char *name, uint32_t val);
* This function has a stub since the name fdt_property is used for both a
* function and a struct, which confuses SWIG.
*/
int fdt_property_stub(void *fdt, const char *name, const char *val, int len);
int fdt_property_stub(void *fdt, const char *name, const void *val, int len);
%include <libfdt.h>

View file

@ -522,8 +522,9 @@ class PyLibfdtSwTests(unittest.TestCase):
sw.property_string('compatible', 'subnode1')
sw.property_u32('reg', 1)
sw.property_cell('prop-int', TEST_VALUE_1)
sw.property('data', b'\x00data\x01')
sw.begin_node('subsubnode')
sw.property('compatible', 'subsubnode1\0subsubnode')
sw.property('compatible', b'subsubnode1\0subsubnode')
sw.property_cell('prop-int', TEST_VALUE_1)
sw.end_node()
sw.begin_node('ss1')
@ -540,7 +541,7 @@ class PyLibfdtSwTests(unittest.TestCase):
with sw.add_node('subsubnode@0'):
sw.property_u32('reg', 0)
sw.property_cell('phandle', PHANDLE_2)
sw.property('compatible', 'subsubnode2\0subsubnode')
sw.property('compatible', b'subsubnode2\0subsubnode')
sw.property_cell('prop-int', TEST_VALUE_2)
with sw.add_node('ss2'):
pass