Message ID | 20181008173125.19678-24-armbru@redhat.com |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 08/10/2018 19:31, Markus Armbruster wrote: > Calling error_report() in a function that takes an Error ** argument > is suspicious. device_init_func() does that, and then fails without > setting an error. Its caller main(), via qemu_opts_foreach(), is fine > with it, but clean it up anyway. > > Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > vl.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) > > diff --git a/vl.c b/vl.c > index a3a39ec06b..86eee4c798 100644 > --- a/vl.c > +++ b/vl.c > @@ -2222,12 +2222,10 @@ static int device_help_func(void *opaque, QemuOpts *opts, Error **errp) > > static int device_init_func(void *opaque, QemuOpts *opts, Error **errp) > { > - Error *err = NULL; > DeviceState *dev; > > - dev = qdev_device_add(opts, &err); > + dev = qdev_device_add(opts, errp); > if (!dev) { > - error_report_err(err); > return -1; > } > object_unref(OBJECT(dev)); > @@ -4444,10 +4442,8 @@ int main(int argc, char **argv, char **envp) > > /* init generic devices */ > rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE); > - if (qemu_opts_foreach(qemu_find_opts("device"), > - device_init_func, NULL, NULL)) { > - exit(1); > - } > + qemu_opts_foreach(qemu_find_opts("device"), > + device_init_func, NULL, &error_fatal); > > cpu_synchronize_all_post_init(); > >
diff --git a/vl.c b/vl.c index a3a39ec06b..86eee4c798 100644 --- a/vl.c +++ b/vl.c @@ -2222,12 +2222,10 @@ static int device_help_func(void *opaque, QemuOpts *opts, Error **errp) static int device_init_func(void *opaque, QemuOpts *opts, Error **errp) { - Error *err = NULL; DeviceState *dev; - dev = qdev_device_add(opts, &err); + dev = qdev_device_add(opts, errp); if (!dev) { - error_report_err(err); return -1; } object_unref(OBJECT(dev)); @@ -4444,10 +4442,8 @@ int main(int argc, char **argv, char **envp) /* init generic devices */ rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE); - if (qemu_opts_foreach(qemu_find_opts("device"), - device_init_func, NULL, NULL)) { - exit(1); - } + qemu_opts_foreach(qemu_find_opts("device"), + device_init_func, NULL, &error_fatal); cpu_synchronize_all_post_init();
Calling error_report() in a function that takes an Error ** argument is suspicious. device_init_func() does that, and then fails without setting an error. Its caller main(), via qemu_opts_foreach(), is fine with it, but clean it up anyway. Signed-off-by: Markus Armbruster <armbru@redhat.com> --- vl.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)