Markus Armbruster <arm...@redhat.com> writes: > Stefan Weil <w...@mail.berlios.de> writes: > >> When called with property "?", a list of supported >> properties will be printed (instead of an error message). >> >> This is useful for command lines like >> qemu -device e1000,? >> and was already standard for other options like model=? >> >> Signed-off-by: Stefan Weil <w...@mail.berlios.de> >> --- >> hw/qdev-properties.c | 15 +++++++++++++-- >> 1 files changed, 13 insertions(+), 2 deletions(-) >> >> diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c >> index 277ff9e..8547ad2 100644 >> --- a/hw/qdev-properties.c >> +++ b/hw/qdev-properties.c >> @@ -544,8 +544,19 @@ int qdev_prop_parse(DeviceState *dev, const char *name, >> const char *value) >> >> prop = qdev_prop_find(dev, name); >> if (!prop) { >> - fprintf(stderr, "property \"%s.%s\" not found\n", >> - dev->info->name, name); >> + if (strcmp(name, "?") != 0) { >> + fprintf(stderr, "property \"%s.%s\" not found\n", >> + dev->info->name, name); >> + } else { >> + fprintf(stderr, "supported properties:\n"); >> + if (dev->info->props != NULL) { >> + Property *props = dev->info->props; >> + while (props->name) { >> + fprintf(stderr, "%s.%s\n", dev->info->name, >> props->name); >> + props++; >> + } >> + } >> + } >> return -1; >> } >> if (!prop->info->parse) { > > I like it.
One question, though: why print DRIVER.PROPNAME instead of just PROPNAME? You could still put DRIVER into the heading, say "Properties of DRIVER:".