qom: Make functions taking Error ** return bool, not 0/-1
Just for consistency. Also fix the example in object_set_props()'s
documentation.
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-31-armbru@redhat.com>
diff --git a/include/qom/object.h b/include/qom/object.h
index 1088e5a..10fd4a2 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -729,15 +729,13 @@
* Error *err = NULL;
* Object *obj = ...get / create object...;
*
- * obj = object_set_props(obj,
- * &err,
- * "share", "yes",
- * "mem-path", "/dev/shm/somefile",
- * "prealloc", "yes",
- * "size", "1048576",
- * NULL);
- *
- * if (!obj) {
+ * if (!object_set_props(obj,
+ * &err,
+ * "share", "yes",
+ * "mem-path", "/dev/shm/somefile",
+ * "prealloc", "yes",
+ * "size", "1048576",
+ * NULL)) {
* error_reportf_err(err, "Cannot set properties: ");
* }
* </programlisting>
@@ -746,11 +744,9 @@
* The returned object will have one stable reference maintained
* for as long as it is present in the object hierarchy.
*
- * Returns: -1 on error, 0 on success
+ * Returns: %true on success, %false on error.
*/
-int object_set_props(Object *obj,
- Error **errp,
- ...) QEMU_SENTINEL;
+bool object_set_props(Object *obj, Error **errp, ...) QEMU_SENTINEL;
/**
* object_set_propv:
@@ -760,11 +756,9 @@
*
* See object_set_props() for documentation.
*
- * Returns: -1 on error, 0 on success
+ * Returns: %true on success, %false on error.
*/
-int object_set_propv(Object *obj,
- Error **errp,
- va_list vargs);
+bool object_set_propv(Object *obj, Error **errp, va_list vargs);
/**
* object_initialize:
diff --git a/qom/object.c b/qom/object.c
index e71266b..0761881 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -557,7 +557,7 @@
object_initialize(childobj, size, type);
obj = OBJECT(childobj);
- if (object_set_propv(obj, errp, vargs) < 0) {
+ if (!object_set_propv(obj, errp, vargs)) {
goto out;
}
@@ -752,7 +752,7 @@
}
obj = object_new_with_type(klass->type);
- if (object_set_propv(obj, errp, vargs) < 0) {
+ if (!object_set_propv(obj, errp, vargs)) {
goto error;
}
@@ -780,12 +780,12 @@
}
-int object_set_props(Object *obj,
+bool object_set_props(Object *obj,
Error **errp,
...)
{
va_list vargs;
- int ret;
+ bool ret;
va_start(vargs, errp);
ret = object_set_propv(obj, errp, vargs);
@@ -795,7 +795,7 @@
}
-int object_set_propv(Object *obj,
+bool object_set_propv(Object *obj,
Error **errp,
va_list vargs)
{
@@ -809,12 +809,12 @@
g_assert(value != NULL);
if (!object_property_parse(obj, propname, value, &local_err)) {
error_propagate(errp, local_err);
- return -1;
+ return false;
}
propname = va_arg(vargs, char *);
}
- return 0;
+ return true;
}