From e1043d674d792ff64aebae1a3eafc08b38a8a085 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marc-Andr=C3=A9=20Lureau?= Date: Fri, 10 Jan 2020 19:30:39 +0400 Subject: [PATCH] qdev: use object_property_help() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Use the common function introduced earlier, and report default value. Signed-off-by: Marc-André Lureau Message-Id: <20200110153039.1379601-27-marcandre.lureau@redhat.com> [Sort the properties, following what is done for -object ...,help. - Paolo] Signed-off-by: Paolo Bonzini --- qdev-monitor.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/qdev-monitor.c b/qdev-monitor.c index c92926219f..8ce71a206b 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -37,6 +37,7 @@ #include "sysemu/sysemu.h" #include "migration/misc.h" #include "migration/migration.h" +#include "qemu/cutils.h" /* * Aliases were a bad idea from the start. Let's keep them @@ -256,6 +257,8 @@ int qdev_device_help(QemuOpts *opts) const char *driver; ObjectPropertyInfoList *prop_list; ObjectPropertyInfoList *prop; + GPtrArray *array; + int i; driver = qemu_opt_get(opts, "driver"); if (driver && is_help_option(driver)) { @@ -285,19 +288,20 @@ int qdev_device_help(QemuOpts *opts) } else { qemu_printf("There are no options for %s.\n", driver); } + array = g_ptr_array_new(); for (prop = prop_list; prop; prop = prop->next) { - int len; - qemu_printf(" %s=<%s>%n", prop->value->name, prop->value->type, &len); - if (prop->value->has_description) { - if (len < 24) { - qemu_printf("%*s", 24 - len, ""); - } - qemu_printf(" - %s\n", prop->value->description); - } else { - qemu_printf("\n"); - } - } - + g_ptr_array_add(array, + object_property_help(prop->value->name, + prop->value->type, + prop->value->default_value, + prop->value->description)); + } + g_ptr_array_sort(array, (GCompareFunc)qemu_pstrcmp0); + for (i = 0; i < array->len; i++) { + printf("%s\n", (char *)array->pdata[i]); + } + g_ptr_array_set_free_func(array, g_free); + g_ptr_array_free(array, true); qapi_free_ObjectPropertyInfoList(prop_list); return 1; -- 2.11.0