[PATCH 3/9] qapi: Eliminate QCO_NO_OPTIONS for a slight simplification

Markus Armbruster armbru at redhat.com
Tue Oct 26 07:58:20 UTC 2021


John Snow <jsnow at redhat.com> writes:

> On Mon, Oct 25, 2021 at 1:25 AM Markus Armbruster <armbru at redhat.com> wrote:
>
>> Signed-off-by: Markus Armbruster <armbru at redhat.com>
>> ---
>>  include/qapi/qmp/dispatch.h | 1 -
>>  monitor/misc.c              | 3 +--
>>  scripts/qapi/commands.py    | 5 +----
>>  3 files changed, 2 insertions(+), 7 deletions(-)
>>
>> diff --git a/include/qapi/qmp/dispatch.h b/include/qapi/qmp/dispatch.h
>> index 075203dc67..0ce88200b9 100644
>> --- a/include/qapi/qmp/dispatch.h
>> +++ b/include/qapi/qmp/dispatch.h
>> @@ -21,7 +21,6 @@ typedef void (QmpCommandFunc)(QDict *, QObject **, Error
>> **);
>>
>>  typedef enum QmpCommandOptions
>>  {
>> -    QCO_NO_OPTIONS            =  0x0,
>>      QCO_NO_SUCCESS_RESP       =  (1U << 0),
>>      QCO_ALLOW_OOB             =  (1U << 1),
>>      QCO_ALLOW_PRECONFIG       =  (1U << 2),
>> diff --git a/monitor/misc.c b/monitor/misc.c
>> index ffe7966870..3556b177f6 100644
>> --- a/monitor/misc.c
>> +++ b/monitor/misc.c
>> @@ -230,8 +230,7 @@ static void monitor_init_qmp_commands(void)
>>
>>      qmp_init_marshal(&qmp_commands);
>>
>> -    qmp_register_command(&qmp_commands, "device_add", qmp_device_add,
>> -                         QCO_NO_OPTIONS);
>> +    qmp_register_command(&qmp_commands, "device_add", qmp_device_add, 0);
>>
>>      QTAILQ_INIT(&qmp_cap_negotiation_commands);
>>      qmp_register_command(&qmp_cap_negotiation_commands,
>> "qmp_capabilities",
>> diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
>> index 3654825968..c8a975528f 100644
>> --- a/scripts/qapi/commands.py
>> +++ b/scripts/qapi/commands.py
>> @@ -229,15 +229,12 @@ def gen_register_command(name: str,
>>      if coroutine:
>>          options += ['QCO_COROUTINE']
>>
>> -    if not options:
>> -        options = ['QCO_NO_OPTIONS']
>> -
>>      ret = mcgen('''
>>      qmp_register_command(cmds, "%(name)s",
>>                           qmp_marshal_%(c_name)s, %(opts)s);
>>  ''',
>>                  name=name, c_name=c_name(name),
>> -                opts=" | ".join(options))
>> +                opts=' | '.join(options) or 0)
>>      return ret
>>
>>
>>
> I'm not a big fan of naked constants on the C side, but the generator
> simplification is nice. I suppose it's worth the trade-off if you like it
> better this way.
>
> "eh".

I think 0 is an okay way to say "no flags, nothing to see here, move
on".

> Reviewed-by: John Snow <jsnow at redhat.com>

Thanks!




More information about the libvir-list mailing list