summaryrefslogtreecommitdiffstats
path: root/qom
diff options
context:
space:
mode:
authorMarkus Armbruster2020-09-17 14:55:39 +0200
committerEduardo Habkost2020-09-18 19:49:48 +0200
commitd20f616e8f8f8f8fdb04da850d9ce92880199db7 (patch)
tree8be4116314f1fb807573c36b1c8eec2eb9d58b62 /qom
parentqom: Correct object_class_dynamic_cast_assert() documentation (diff)
downloadqemu-d20f616e8f8f8f8fdb04da850d9ce92880199db7.tar.gz
qemu-d20f616e8f8f8f8fdb04da850d9ce92880199db7.tar.xz
qemu-d20f616e8f8f8f8fdb04da850d9ce92880199db7.zip
qom: Clean up object_property_get_enum()'s error value
object_property_get_enum() is the only object_property_FOO() that is documented to return an undefined value on error. It does no such thing, actually: it returns 0 on some errors, and -1 on others. Needlessly complicated. Always return -1 on error, and adjust the contract. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20200917125540.597786-2-armbru@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'qom')
-rw-r--r--qom/object.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/qom/object.c b/qom/object.c
index 387efb25eb..cecad35b99 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1564,21 +1564,21 @@ int object_property_get_enum(Object *obj, const char *name,
EnumProperty *enumprop;
if (prop == NULL) {
- return 0;
+ return -1;
}
if (!g_str_equal(prop->type, typename)) {
error_setg(errp, "Property %s on %s is not '%s' enum type",
name, object_class_get_name(
object_get_class(obj)), typename);
- return 0;
+ return -1;
}
enumprop = prop->opaque;
str = object_property_get_str(obj, name, errp);
if (!str) {
- return 0;
+ return -1;
}
ret = qapi_enum_parse(enumprop->lookup, str, -1, errp);