hmp: Ignore Error objects where the return value suffices

qdev_print_props() receives and throws away Error objects just to
check for object_property_get_str() and object_property_print()
failure.  Unnecessary, both return suitable values, so use those
instead.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20200707160613.848843-46-armbru@redhat.com>
This commit is contained in:
Markus Armbruster 2020-07-07 18:06:13 +02:00
parent 2d226cf6d1
commit a43770df5d

View File

@ -697,22 +697,22 @@ static void qdev_print_props(Monitor *mon, DeviceState *dev, Property *props,
if (!props)
return;
for (; props->name; props++) {
Error *err = NULL;
char *value;
char *legacy_name = g_strdup_printf("legacy-%s", props->name);
if (object_property_get_type(OBJECT(dev), legacy_name, NULL)) {
value = object_property_get_str(OBJECT(dev), legacy_name, &err);
value = object_property_get_str(OBJECT(dev), legacy_name, NULL);
} else {
value = object_property_print(OBJECT(dev), props->name, true, &err);
value = object_property_print(OBJECT(dev), props->name, true,
NULL);
}
g_free(legacy_name);
if (err) {
error_free(err);
if (!value) {
continue;
}
qdev_printf("%s = %s\n", props->name,
value && *value ? value : "<null>");
*value ? value : "<null>");
g_free(value);
}
}