From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33553) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X8AaF-0004Rh-6r for qemu-devel@nongnu.org; Fri, 18 Jul 2014 12:00:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1X8Aa4-0002ip-PM for qemu-devel@nongnu.org; Fri, 18 Jul 2014 12:00:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:11621) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1X8Aa4-0002il-H8 for qemu-devel@nongnu.org; Fri, 18 Jul 2014 12:00:20 -0400 Message-ID: <1405699194.2696.84.camel@localhost.localdomain> From: Marcel Apfelbaum Date: Fri, 18 Jul 2014 18:59:54 +0300 In-Reply-To: <53C92E49.7090001@suse.de> References: <1404032955-2591-1-git-send-email-marcel.a@redhat.com> <53C92E49.7090001@suse.de> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] machine: replace underscores in machine's property names List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andreas =?ISO-8859-1?Q?F=E4rber?= Cc: Peter Maydell , mst@redhat.com, mdroth@linux.vnet.ibm.com, qemu-devel@nongnu.org, aliguori@amazon.com, Paolo Bonzini On Fri, 2014-07-18 at 16:25 +0200, Andreas F=C3=A4rber 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 > >=20 > > Signed-off-by: Marcel Apfelbaum > > --- > > 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 *na= me, const char *value, void *opaque > > Object *obj =3D OBJECT(opaque); > > StringInputVisitor *siv; > > Error *local_err =3D NULL; > > + char *c, *qom_name; > > =20 > > if (strcmp(name, "qom-type") =3D=3D 0 || strcmp(name, "id") =3D=3D= 0 || > > strcmp(name, "type") =3D=3D 0) { > > return 0; > > } > > =20 > > + qom_name =3D g_strdup(name); > > + c =3D qom_name; > > + while (*c++) { > > + if (*c =3D=3D '_') { > > + *c =3D '-'; > > + } > > + } >=20 > 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 bee= n > checked? Hi Andreas, I checked and object_set_property is used only be machine right now, so no problem here. Thanks, Marcel >=20 > 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, wher= e > we are more easily able to review and test. Opinions? >=20 > Regards, > Andreas >=20 > > + > > siv =3D string_input_visitor_new(value); > > - object_property_set(obj, string_input_get_visitor(siv), name, &l= ocal_err); > > + object_property_set(obj, string_input_get_visitor(siv), qom_name= , &local_err); > > string_input_visitor_cleanup(siv); > > + free(qom_name); > > =20 > > if (local_err) { > > qerror_report_err(local_err); > >=20 >=20 >=20