On Mon, Oct 17, 2016 at 01:00:29PM +0200, Markus Armbruster wrote:
> Eduardo Habkost <ehabk...@redhat.com> writes:
> > On Thu, Oct 13, 2016 at 06:44:14PM +0200, Markus Armbruster wrote:
> >> machine_set_property() replaces '_' by '-' in the property name.
> >> Except it fails to replace an initial '_'. Screwed up in commit
> >> b0ddb8b. Reproducer: "-M pc,__foo_bar=true" produces "Property
> >> '._-foo-bar' not found".
> >> Error messages using a mangled name rather than the name the user
> >> actually wrote is user-hostile, but that's a different topic.
> >> Signed-off-by: Markus Armbruster <arm...@redhat.com>
> > Reviewed-by: Eduardo Habkost <ehabk...@redhat.com>
> > I suggest we follow the same approach we used in the x86 CPU
> > code: instead of requiring a special parser that magically
> > translate strings, just add property aliases for the old names
> > that contained "_". It would fix the user-hostile error messages
> > as well.
> Adding the aliases is slightly annoying, but it's probably the easiest
> way to get decent error messages.
I started working on it, but then I noticed I had do check for
"_" in all TYPE_MACHINE subclasses and it would take more time
than I expected. Then I put it at the end of my queue and went
work on something else.
> How can we ensure no new alias-requiring names get added?
Being a style issue, maybe checkpatch.pl could detect some cases.
It's not different from the other QOM classes.