Commit 7e1e0c11 authored by Markus Armbruster's avatar Markus Armbruster
Browse files

qom: Clean up error reporting in user_creatable_add_opts_foreach()



Calling error_report() in a function that takes an Error ** argument
is suspicious.  user_creatable_add_opts_foreach() 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.

Cc: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20181017082702.5581-20-armbru@redhat.com>
parent 6353218b
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -620,11 +620,9 @@ int main(int argc, char **argv)
        exit(1);
    }

    if (qemu_opts_foreach(&qemu_object_opts,
    qemu_opts_foreach(&qemu_object_opts,
                      user_creatable_add_opts_foreach,
                          NULL, NULL)) {
        exit(1);
    }
                      NULL, &error_fatal);

    if (!trace_init_backends()) {
        exit(1);
+3 −5
Original line number Diff line number Diff line
@@ -766,11 +766,9 @@ int main(int argc, char **argv)
        exit(EXIT_FAILURE);
    }

    if (qemu_opts_foreach(&qemu_object_opts,
    qemu_opts_foreach(&qemu_object_opts,
                      user_creatable_add_opts_foreach,
                          NULL, NULL)) {
        exit(EXIT_FAILURE);
    }
                      NULL, &error_fatal);

    if (!trace_init_backends()) {
        exit(1);
+1 −3
Original line number Diff line number Diff line
@@ -143,7 +143,6 @@ int user_creatable_add_opts_foreach(void *opaque, QemuOpts *opts, Error **errp)
{
    bool (*type_opt_predicate)(const char *, QemuOpts *) = opaque;
    Object *obj = NULL;
    Error *err = NULL;
    const char *type;

    type = qemu_opt_get(opts, "qom-type");
@@ -152,9 +151,8 @@ int user_creatable_add_opts_foreach(void *opaque, QemuOpts *opts, Error **errp)
        return 0;
    }

    obj = user_creatable_add_opts(opts, &err);
    obj = user_creatable_add_opts(opts, errp);
    if (!obj) {
        error_report_err(err);
        return -1;
    }
    object_unref(obj);
+6 −10
Original line number Diff line number Diff line
@@ -4229,11 +4229,9 @@ int main(int argc, char **argv, char **envp)
    page_size_init();
    socket_init();

    if (qemu_opts_foreach(qemu_find_opts("object"),
    qemu_opts_foreach(qemu_find_opts("object"),
                      user_creatable_add_opts_foreach,
                          object_create_initial, NULL)) {
        exit(1);
    }
                      object_create_initial, &error_fatal);

    if (qemu_opts_foreach(qemu_find_opts("chardev"),
                          chardev_init_func, NULL, NULL)) {
@@ -4364,11 +4362,9 @@ int main(int argc, char **argv, char **envp)
        exit(1);
    }

    if (qemu_opts_foreach(qemu_find_opts("object"),
    qemu_opts_foreach(qemu_find_opts("object"),
                      user_creatable_add_opts_foreach,
                          object_create_delayed, NULL)) {
        exit(1);
    }
                      object_create_delayed, &error_fatal);

    if (tpm_init() < 0) {
        exit(1);