qapi: Use returned bool to check for failure, manual part
The previous commit used Coccinelle to convert from checking the Error
object to checking the return value. Convert a few more manually.
Also tweak control flow in places to conform to the conventional "if
error bail out" pattern.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20200707160613.848843-20-armbru@redhat.com>
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 375e29f..ab1a6ff 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -3128,37 +3128,33 @@
const char *name, void *opaque,
Error **errp)
{
- Error *err = NULL;
KVMState *s = KVM_STATE(obj);
OnOffSplit mode;
- visit_type_OnOffSplit(v, name, &mode, &err);
- if (err) {
- error_propagate(errp, err);
+ if (!visit_type_OnOffSplit(v, name, &mode, errp)) {
return;
- } else {
- switch (mode) {
- case ON_OFF_SPLIT_ON:
- s->kernel_irqchip_allowed = true;
- s->kernel_irqchip_required = true;
- s->kernel_irqchip_split = ON_OFF_AUTO_OFF;
- break;
- case ON_OFF_SPLIT_OFF:
- s->kernel_irqchip_allowed = false;
- s->kernel_irqchip_required = false;
- s->kernel_irqchip_split = ON_OFF_AUTO_OFF;
- break;
- case ON_OFF_SPLIT_SPLIT:
- s->kernel_irqchip_allowed = true;
- s->kernel_irqchip_required = true;
- s->kernel_irqchip_split = ON_OFF_AUTO_ON;
- break;
- default:
- /* The value was checked in visit_type_OnOffSplit() above. If
- * we get here, then something is wrong in QEMU.
- */
- abort();
- }
+ }
+ switch (mode) {
+ case ON_OFF_SPLIT_ON:
+ s->kernel_irqchip_allowed = true;
+ s->kernel_irqchip_required = true;
+ s->kernel_irqchip_split = ON_OFF_AUTO_OFF;
+ break;
+ case ON_OFF_SPLIT_OFF:
+ s->kernel_irqchip_allowed = false;
+ s->kernel_irqchip_required = false;
+ s->kernel_irqchip_split = ON_OFF_AUTO_OFF;
+ break;
+ case ON_OFF_SPLIT_SPLIT:
+ s->kernel_irqchip_allowed = true;
+ s->kernel_irqchip_required = true;
+ s->kernel_irqchip_split = ON_OFF_AUTO_ON;
+ break;
+ default:
+ /* The value was checked in visit_type_OnOffSplit() above. If
+ * we get here, then something is wrong in QEMU.
+ */
+ abort();
}
}
diff --git a/block/throttle-groups.c b/block/throttle-groups.c
index bb242fd..e411051 100644
--- a/block/throttle-groups.c
+++ b/block/throttle-groups.c
@@ -895,8 +895,8 @@
ThrottleLimits *argp;
Error *local_err = NULL;
- if (!visit_type_ThrottleLimits(v, name, &argp, &local_err)) {
- goto ret;
+ if (!visit_type_ThrottleLimits(v, name, &argp, errp)) {
+ return;
}
qemu_mutex_lock(&tg->lock);
throttle_get_config(&tg->ts, &cfg);
@@ -908,7 +908,6 @@
unlock:
qemu_mutex_unlock(&tg->lock);
-ret:
qapi_free_ThrottleLimits(argp);
error_propagate(errp, local_err);
return;
diff --git a/bootdevice.c b/bootdevice.c
index fb09d3c..769f40c 100644
--- a/bootdevice.c
+++ b/bootdevice.c
@@ -297,8 +297,8 @@
int32_t boot_index;
Error *local_err = NULL;
- if (!visit_type_int32(v, name, &boot_index, &local_err)) {
- goto out;
+ if (!visit_type_int32(v, name, &boot_index, errp)) {
+ return;
}
/* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err);
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index 3cb6faa..4c7a8a0 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -761,15 +761,15 @@
if (!visit_type_str(v, name, &str, &local_err)) {
error_free(local_err);
local_err = NULL;
- visit_type_int32(v, name, &value, &local_err);
- if (local_err) {
- error_propagate(errp, local_err);
- } else if (value < -1 || value > 255) {
+ if (!visit_type_int32(v, name, &value, errp)) {
+ return;
+ }
+ if (value < -1 || value > 255) {
error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
name ? name : "null", "pci_devfn");
- } else {
- *ptr = value;
+ return;
}
+ *ptr = value;
return;
}
diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
index 358f10a..ba8b0d7 100644
--- a/hw/ide/qdev.c
+++ b/hw/ide/qdev.c
@@ -245,8 +245,8 @@
int32_t boot_index;
Error *local_err = NULL;
- if (!visit_type_int32(v, name, &boot_index, &local_err)) {
- goto out;
+ if (!visit_type_int32(v, name, &boot_index, errp)) {
+ return;
}
/* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err);
diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
index ec92ffd..1fa976c 100644
--- a/hw/mem/nvdimm.c
+++ b/hw/mem/nvdimm.c
@@ -85,21 +85,18 @@
void *opaque, Error **errp)
{
NVDIMMDevice *nvdimm = NVDIMM(obj);
- Error *local_err = NULL;
char *value;
- if (!visit_type_str(v, name, &value, &local_err)) {
- goto out;
+ if (!visit_type_str(v, name, &value, errp)) {
+ return;
}
if (qemu_uuid_parse(value, &nvdimm->uuid) != 0) {
error_setg(errp, "Property '%s.%s' has invalid value",
object_get_typename(obj), name);
}
- g_free(value);
-out:
- error_propagate(errp, local_err);
+ g_free(value);
}
diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
index 765bcd1..0594abd 100644
--- a/hw/net/ne2000-isa.c
+++ b/hw/net/ne2000-isa.c
@@ -113,8 +113,8 @@
int32_t boot_index;
Error *local_err = NULL;
- if (!visit_type_int32(v, name, &boot_index, &local_err)) {
- goto out;
+ if (!visit_type_int32(v, name, &boot_index, errp)) {
+ return;
}
/* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err);
diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
index 1c3bd25..7216651 100644
--- a/hw/usb/dev-storage.c
+++ b/hw/usb/dev-storage.c
@@ -736,8 +736,8 @@
int32_t boot_index;
Error *local_err = NULL;
- if (!visit_type_int32(v, name, &boot_index, &local_err)) {
- goto out;
+ if (!visit_type_int32(v, name, &boot_index, errp)) {
+ return;
}
/* check whether bootindex is present in fw_boot_order list */
check_boot_index(boot_index, &local_err);
diff --git a/net/net.c b/net/net.c
index 94dc546..6fe74c8 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1062,7 +1062,6 @@
{
gchar **substrings = NULL;
Netdev *object = NULL;
- Error *err = NULL;
int ret = -1;
Visitor *v = opts_visitor_new(opts);
@@ -1110,16 +1109,13 @@
qemu_opts_set_id(opts, g_strdup_printf("__org.qemu.net%i", idx++));
}
- visit_type_Netdev(v, NULL, &object, &err);
-
- if (!err) {
- ret = net_client_init1(object, is_netdev, &err);
+ if (visit_type_Netdev(v, NULL, &object, errp)) {
+ ret = net_client_init1(object, is_netdev, errp);
}
qapi_free_Netdev(object);
out:
- error_propagate(errp, err);
g_strfreev(substrings);
visit_free(v);
return ret;