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.