aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2020-07-07 18:05:56 +0200
committerMarkus Armbruster <armbru@redhat.com>2020-07-10 15:18:08 +0200
commit778a2dc59213d789f5bf8409547b529af4eb9ead (patch)
tree5fa10bb05617c2d20de9d7daf5376a85914e3967 /target
parent6fd5bef10b8f0bf64df4e800bfda1da5fe17ca82 (diff)
downloadqemu-778a2dc59213d789f5bf8409547b529af4eb9ead.zip
qemu-778a2dc59213d789f5bf8409547b529af4eb9ead.tar.gz
qemu-778a2dc59213d789f5bf8409547b529af4eb9ead.tar.bz2
qom: Use returned bool to check for failure, Coccinelle part
The previous commit enables conversion of foo(..., &err); if (err) { ... } to if (!foo(..., errp)) { ... } for QOM functions that now return true / false on success / error. Coccinelle script: @@ identifier fun = { object_apply_global_props, object_initialize_child_with_props, object_initialize_child_with_propsv, object_property_get, object_property_get_bool, object_property_parse, object_property_set, object_property_set_bool, object_property_set_int, object_property_set_link, object_property_set_qobject, object_property_set_str, object_property_set_uint, object_set_props, object_set_propv, user_creatable_add_dict, user_creatable_complete, user_creatable_del }; expression list args, args2; typedef Error; Error *err; @@ - fun(args, &err, args2); - if (err) + if (!fun(args, &err, args2)) { ... } Fails to convert hw/arm/armsse.c, because Coccinelle gets confused by ARMSSE being used both as typedef and function-like macro there. Convert manually. Line breaks tidied up manually. 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-29-armbru@redhat.com>
Diffstat (limited to 'target')
-rw-r--r--target/arm/monitor.c3
-rw-r--r--target/i386/cpu.c11
-rw-r--r--target/s390x/cpu_models.c3
3 files changed, 6 insertions, 11 deletions
diff --git a/target/arm/monitor.c b/target/arm/monitor.c
index 087726a..c162c5f 100644
--- a/target/arm/monitor.c
+++ b/target/arm/monitor.c
@@ -184,8 +184,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType type,
i = 0;
while ((name = cpu_model_advertised_features[i++]) != NULL) {
if (qdict_get(qdict_in, name)) {
- object_property_set(obj, name, visitor, &err);
- if (err) {
+ if (!object_property_set(obj, name, visitor, &err)) {
break;
}
}
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index dd83cb7..2b60b61 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5271,9 +5271,8 @@ static void object_apply_props(Object *obj, QDict *props, Error **errp)
Error *err = NULL;
for (prop = qdict_first(props); prop; prop = qdict_next(props, prop)) {
- object_property_set_qobject(obj, qdict_entry_key(prop),
- qdict_entry_value(prop), &err);
- if (err) {
+ if (!object_property_set_qobject(obj, qdict_entry_key(prop),
+ qdict_entry_value(prop), &err)) {
break;
}
}
@@ -6340,16 +6339,14 @@ static void x86_cpu_expand_features(X86CPU *cpu, Error **errp)
for (l = plus_features; l; l = l->next) {
const char *prop = l->data;
- object_property_set_bool(OBJECT(cpu), prop, true, &local_err);
- if (local_err) {
+ if (!object_property_set_bool(OBJECT(cpu), prop, true, &local_err)) {
goto out;
}
}
for (l = minus_features; l; l = l->next) {
const char *prop = l->data;
- object_property_set_bool(OBJECT(cpu), prop, false, &local_err);
- if (local_err) {
+ if (!object_property_set_bool(OBJECT(cpu), prop, false, &local_err)) {
goto out;
}
}
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 8ab2061..f3ba30e 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -517,8 +517,7 @@ static void cpu_model_from_info(S390CPUModel *model, const CpuModelInfo *info,
return;
}
for (e = qdict_first(qdict); e; e = qdict_next(qdict, e)) {
- object_property_set(obj, e->key, visitor, &err);
- if (err) {
+ if (!object_property_set(obj, e->key, visitor, &err)) {
break;
}
}