On Fri, 2014-07-18 at 16:25 +0200, Andreas Färber wrote: > Am 29.06.2014 11:09, schrieb Marcel Apfelbaum: > > Replaced '_' with '-' to comply with QOM guidelines. > > Made the conversion from HMP to QMP in vl.c > > > > Signed-off-by: Marcel Apfelbaum <marce...@redhat.com> > > --- > > hw/core/machine.c | 8 ++++---- > > vl.c | 12 +++++++++++- > > 2 files changed, 15 insertions(+), 5 deletions(-) > [snip] > > diff --git a/vl.c b/vl.c > > index a1686ef..7587c97 100644 > > --- a/vl.c > > +++ b/vl.c > > @@ -2820,15 +2820,25 @@ static int object_set_property(const char *name, > > const char *value, void *opaque > > Object *obj = OBJECT(opaque); > > StringInputVisitor *siv; > > Error *local_err = NULL; > > + char *c, *qom_name; > > > > if (strcmp(name, "qom-type") == 0 || strcmp(name, "id") == 0 || > > strcmp(name, "type") == 0) { > > return 0; > > } > > > > + qom_name = g_strdup(name); > > + c = qom_name; > > + while (*c++) { > > + if (*c == '_') { > > + *c = '-'; > > + } > > + } > > Actually, is this really safe? By my reading, this function handles > -object as well, which in turn allows - in theory - to instantiate any > device, where some will still have underscores in their property names. > Not sure if all non-device objects such as virtio-rng backends have been > checked? Hi Andreas,
I checked and object_set_property is used only be machine right now, so no problem here. Thanks, Marcel > > Since it's really late, I would be more comfortable to copy this > function with a large TODO and only apply this fixup for -machine, where > we are more easily able to review and test. Opinions? > > Regards, > Andreas > > > + > > siv = string_input_visitor_new(value); > > - object_property_set(obj, string_input_get_visitor(siv), name, > > &local_err); > > + object_property_set(obj, string_input_get_visitor(siv), qom_name, > > &local_err); > > string_input_visitor_cleanup(siv); > > + free(qom_name); > > > > if (local_err) { > > qerror_report_err(local_err); > > > >