[libvirt] [PATCH 01/12] virsh.c: Switch to C99 initialization of vshCmdOptDef
Doug Goldstein
cardoe at gentoo.org
Mon Jan 14 17:16:37 UTC 2013
On Mon, Jan 14, 2013 at 10:51 AM, Michal Privoznik <mprivozn at redhat.com> wrote:
> On 14.01.2013 17:33, Doug Goldstein wrote:
>> On Mon, Jan 14, 2013 at 9:59 AM, Michal Privoznik <mprivozn at redhat.com> wrote:
>>> ---
>>> tools/virsh.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
>>> 1 file changed, 51 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/tools/virsh.c b/tools/virsh.c
>>> index 283194a..a764b3e 100644
>>> --- a/tools/virsh.c
>>> +++ b/tools/virsh.c
>>> @@ -447,8 +447,16 @@ static const vshCmdInfo info_help[] = {
>>> };
>>>
>>> static const vshCmdOptDef opts_help[] = {
>>> - {"command", VSH_OT_DATA, 0, N_("Prints global help, command specific help, or help for a group of related commands")},
>>> - {NULL, 0, 0, NULL}
>>> + {.name = "command",
>>> + .type = VSH_OT_DATA,
>>> + .flags = 0,
>>> + .help = N_("Prints global help, command specific help, or help for a group of related commands")
>>> + },
>>> + {.name = NULL,
>>> + .type = 0,
>>> + .flags = 0,
>>> + .help = NULL
>>> + }
>>> };
>>>
>>> static bool
>>> @@ -698,8 +706,16 @@ static const vshCmdInfo info_cd[] = {
>>> };
>>>
>>> static const vshCmdOptDef opts_cd[] = {
>>> - {"dir", VSH_OT_DATA, 0, N_("directory to switch to (default: home or else root)")},
>>> - {NULL, 0, 0, NULL}
>>> + {.name = "dir",
>>> + .type = VSH_OT_DATA,
>>> + .flags = 0,
>>> + .help = N_("directory to switch to (default: home or else root)")
>>> + },
>>> + {.name = NULL,
>>> + .type = 0,
>>> + .flags = 0,
>>> + .help = NULL
>>> + }
>>> };
>>>
>>> static bool
>>> @@ -770,11 +786,31 @@ static const vshCmdInfo info_echo[] = {
>>> };
>>>
>>> static const vshCmdOptDef opts_echo[] = {
>>> - {"shell", VSH_OT_BOOL, 0, N_("escape for shell use")},
>>> - {"xml", VSH_OT_BOOL, 0, N_("escape for XML use")},
>>> - {"str", VSH_OT_ALIAS, 0, "string"},
>>> - {"string", VSH_OT_ARGV, 0, N_("arguments to echo")},
>>> - {NULL, 0, 0, NULL}
>>> + {.name = "shell",
>>> + .type = VSH_OT_BOOL,
>>> + .flags = 0,
>>> + .help = N_("escape for shell use")
>>> + },
>>> + {.name = "xml",
>>> + .type = VSH_OT_BOOL,
>>> + .flags = 0,
>>> + .help = N_("escape for XML use")
>>> + },
>>> + {.name = "str",
>>> + .type = VSH_OT_ALIAS,
>>> + .flags = 0,
>>> + .help = "string"
>>> + },
>>> + {.name = "string",
>>> + .type = VSH_OT_ARGV,
>>> + .flags = 0,
>>> + .help = N_("arguments to echo")
>>> + },
>>> + {.name = NULL,
>>> + .type = 0,
>>> + .flags = 0,
>>> + .help = NULL
>>> + }
>>> };
>>>
>>> /* Exists mainly for debugging virsh, but also handy for adding back
>>> @@ -923,8 +959,12 @@ vshCmddefOptParse(const vshCmdDef *cmd, uint32_t *opts_need_arg,
>>> return 0;
>>> }
>>>
>>> -static vshCmdOptDef helpopt = {"help", VSH_OT_BOOL, 0,
>>> - N_("print help for this function")};
>>> +static vshCmdOptDef helpopt = {
>>> + .name = "help",
>>> + .type = VSH_OT_BOOL,
>>> + .flags = 0,
>>> + .help = N_("print help for this function")
>>> +};
>>> static const vshCmdOptDef *
>>> vshCmddefGetOption(vshControl *ctl, const vshCmdDef *cmd, const char *name,
>>> uint32_t *opts_seen, int *opt_index)
>>> --
>>> 1.8.0.2
>>>
>>> --
>>> libvir-list mailing list
>>> libvir-list at redhat.com
>>> https://www.redhat.com/mailman/listinfo/libvir-list
>>
>> ACK with a caveat. How would you feel about a macro called
>> VSH_CMD_OPT_END that is defined to:
>>
>> {.name = NULL,
>> .type = 0,
>> .flags = 0,
>> .help = NULL
>> }
>>
>> Just a thought to cutdown on the number of changes necessary if/when
>> the members of the struct change.
>>
>
> Oh, I forgot to update this patch. If you take look into next patches,
> you'll see I am using bare
>
> {.name = NULL}
>
> which has the same effect as your macro. I'll update this patch accordingly.
>
> Michal
Works for me. Thanks Michal.
--
Doug Goldstein
More information about the libvir-list
mailing list