mirror of https://github.com/xemu-project/xemu.git
vl.c: select_machine(): use ERRP_GUARD instead of error propagation
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
875b2fabc0
commit
e9945a8781
14
system/vl.c
14
system/vl.c
|
@ -1665,28 +1665,28 @@ static const QEMUOption *lookup_opt(int argc, char **argv,
|
||||||
|
|
||||||
static MachineClass *select_machine(QDict *qdict, Error **errp)
|
static MachineClass *select_machine(QDict *qdict, Error **errp)
|
||||||
{
|
{
|
||||||
|
ERRP_GUARD();
|
||||||
const char *machine_type = qdict_get_try_str(qdict, "type");
|
const char *machine_type = qdict_get_try_str(qdict, "type");
|
||||||
GSList *machines = object_class_get_list(TYPE_MACHINE, false);
|
GSList *machines = object_class_get_list(TYPE_MACHINE, false);
|
||||||
MachineClass *machine_class;
|
MachineClass *machine_class = NULL;
|
||||||
Error *local_err = NULL;
|
|
||||||
|
|
||||||
if (machine_type) {
|
if (machine_type) {
|
||||||
machine_class = find_machine(machine_type, machines);
|
machine_class = find_machine(machine_type, machines);
|
||||||
qdict_del(qdict, "type");
|
qdict_del(qdict, "type");
|
||||||
if (!machine_class) {
|
if (!machine_class) {
|
||||||
error_setg(&local_err, "unsupported machine type");
|
error_setg(errp, "unsupported machine type");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
machine_class = find_default_machine(machines);
|
machine_class = find_default_machine(machines);
|
||||||
if (!machine_class) {
|
if (!machine_class) {
|
||||||
error_setg(&local_err, "No machine specified, and there is no default");
|
error_setg(errp, "No machine specified, and there is no default");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_slist_free(machines);
|
g_slist_free(machines);
|
||||||
if (local_err) {
|
if (!machine_class) {
|
||||||
error_append_hint(&local_err, "Use -machine help to list supported machines\n");
|
error_append_hint(errp,
|
||||||
error_propagate(errp, local_err);
|
"Use -machine help to list supported machines\n");
|
||||||
}
|
}
|
||||||
return machine_class;
|
return machine_class;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue