add osmo-bsc --vty-ref-xml: dump VTY ref XML to stdout
Add only a long option to not clutter the cmdline namespace. To add a long option without a short letter is slightly complex: use the 'flag' and 'val' mechanism as in 'man 3 getopt' to write an option index to long_option. Depends: Ic74bbdb6dc5ea05f03c791cc70184861e39cd492 (libosmocore) Change-Id: I316efedb2c1652791434ecf14a1e261367cd2fb7
This commit is contained in:
parent
b5ccf09fc4
commit
77c330d57c
|
@ -104,12 +104,14 @@ static void print_help()
|
|||
printf(" -e --log-level number Set a global loglevel.\n");
|
||||
printf(" -r --rf-ctl NAME A unix domain socket to listen for cmds.\n");
|
||||
printf(" -t --testmode A special mode to provoke failures at the MSC.\n");
|
||||
printf(" --vty-ref-xml Generate the VTY reference XML output and exit.\n");
|
||||
}
|
||||
|
||||
static void handle_options(int argc, char **argv)
|
||||
{
|
||||
while (1) {
|
||||
int option_index = 0, c;
|
||||
static int long_option = 0;
|
||||
static struct option long_options[] = {
|
||||
{"help", 0, 0, 'h'},
|
||||
{"debug", 1, 0, 'd'},
|
||||
|
@ -122,6 +124,7 @@ static void handle_options(int argc, char **argv)
|
|||
{"log-level", 1, 0, 'e'},
|
||||
{"rf-ctl", 1, 0, 'r'},
|
||||
{"testmode", 0, 0, 't'},
|
||||
{"vty-ref-xml", 0, &long_option, 1},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
|
@ -135,6 +138,15 @@ static void handle_options(int argc, char **argv)
|
|||
print_usage();
|
||||
print_help();
|
||||
exit(0);
|
||||
case 0:
|
||||
switch (long_option) {
|
||||
case 1:
|
||||
vty_dump_xml_ref(stdout);
|
||||
exit(0);
|
||||
default:
|
||||
fprintf(stderr, "error parsing cmdline options\n");
|
||||
exit(2);
|
||||
}
|
||||
case 's':
|
||||
log_set_use_color(osmo_stderr_target, 0);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue