On Mon, Jan 14, 2013 at 9:59 AM, Michal Privoznik <mprivozn@xxxxxxxxxx> 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@xxxxxxxxxx > 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. -- Doug Goldstein -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list