Alexander Graf <ag...@suse.de> writes: > On 04.07.2013, at 15:09, Markus Armbruster wrote: > >> Make it QEMU_OPT_NUMBER, so it gets parsed by generic code, which >> actually bothers to check for errors, rather than its user, which >> doesn't. >> >> Cc: Alexander Graf <ag...@suse.de> >> Signed-off-by: Markus Armbruster <arm...@redhat.com> >> --- >> device_tree.c | 7 ++----- >> vl.c | 2 +- >> 2 files changed, 3 insertions(+), 6 deletions(-) >> >> diff --git a/device_tree.c b/device_tree.c >> index 0e7fe2d..10cf3d0 100644 >> --- a/device_tree.c >> +++ b/device_tree.c >> @@ -240,11 +240,8 @@ uint32_t qemu_devtree_alloc_phandle(void *fdt) uint32_t qemu_devtree_alloc_phandle(void *fdt) { static int phandle = 0x0;
/* >> * which phandle id to start allocting phandles. >> */ >> if (!phandle) { >> - const char *phandle_start = qemu_opt_get(qemu_get_machine_opts(), >> - "phandle_start"); >> - if (phandle_start) { >> - phandle = strtoul(phandle_start, NULL, 0); >> - } >> + phandle = qemu_opt_get_number(qemu_get_machine_opts(), >> + "phandle_start", 0); > > Zero is a valid phandle to start from. It shouldn't mean "default". We get here only when phandle is zero (which it initially is). If opts don't contain a value for "phandle_start", we set phandle to zero, i.e. do nothing. Exactly the same as before. If that's wrong, it should be fixed in a separate patch.