qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] qmp: object-add: Validate class before creat


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v2] qmp: object-add: Validate class before creating object
Date: Fri, 16 May 2014 17:39:36 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

Am 25.04.2014 21:16, schrieb Eduardo Habkost:
> On Fri, Apr 25, 2014 at 08:42:59PM +0200, Andreas Färber wrote:
>> Am 25.04.2014 20:02, schrieb Luiz Capitulino:
>>> On Fri, 25 Apr 2014 17:57:12 +0200
>>> Andreas Färber <address@hidden> wrote:
>>>> Am 25.04.2014 17:12, schrieb Luiz Capitulino:
>>>>> On Wed, 16 Apr 2014 14:39:38 -0300
>>>>> Eduardo Habkost <address@hidden> wrote:
>>>>>
>>>>>> diff --git a/qmp.c b/qmp.c
>>>>>> index 87a28f7..9a93ab1 100644
>>>>>> --- a/qmp.c
>>>>>> +++ b/qmp.c
>>>>>> @@ -540,14 +540,27 @@ void object_add(const char *type, const char *id, 
>>>>>> const QDict *qdict,
>>>>>>                  Visitor *v, Error **errp)
>>>>>>  {
>>>>>>      Object *obj;
>>>>>> +    ObjectClass *klass;
>>>>
>>>> Luiz, can you rename klass to oc please?
>>>
>>> My pull request is almost ready (finishing last few tests), so I think
>>> it's a bit late for a style change.
>>
>> Then either one of you please follow-up with a fix before you forget.
>> I've been asked to change patches that way, so I expect others do, too.
> 
> Could you explain why this is a bug? The patch matches the existing
> style in qmp.c, and if I grep the whole tree I see 482 matches for
> 'ObjectClass *klass' and 165 for 'ObjectClass *oc'.

Simple explanation for the numbers: "klass" was introduced through
Anthony's Python-automated qdev -> QOM conversion, because C++ reserves
"class". Then when I started making use of QOM for CPUs I was asked to
change my copied "klass" to "oc", with the argument that "klass" is a
deliberate misspelling and that we already used dc for DeviceClass, etc.
Therefore I expect others to update their patches to the new style, too.

ObjectClass *oc
#define MY_CLASS(class) # or MY_CLASS(cls) -- not forbidden in macros

Just like DO_UPCAST() and other pre-QOM macros, the only remedy to avoid
bad copy&paste will be to pass over the source tree and fix it
consistently. No time for that myself now, maybe a GSoC/OPW task?

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

[Prev in Thread] Current Thread [Next in Thread]