static double timeout;
-static const struct command all_commands[];
+static const struct command *get_all_commands(void);
static void parse_options(int argc, char *argv[]);
static void usage(void);
set_program_name(argv[0]);
vlog_set_levels(NULL, VLF_ANY_FACILITY, VLL_EMER);
parse_options(argc, argv);
- run_command(argc - optind, argv + optind, all_commands);
+ run_command(argc - optind, argv + optind, get_all_commands());
return 0;
}
*min = *max = 0;
if (colon && colon[1] != '\0') {
const char *ports = colon + 1;
- if (sscanf(ports, "%hu-%hu", min, max) == 2) {
+ if (ovs_scan(ports, "%hu-%hu", min, max)) {
if (*min > *max) {
ovs_fatal(0, "%s: minimum is greater than maximum", s_);
}
- } else if (sscanf(ports, "%hu", min) == 1) {
+ } else if (ovs_scan(ports, "%hu", min)) {
*max = *min;
} else {
ovs_fatal(0, "%s: number or range expected", s_);
static void
parse_options(int argc, char *argv[])
{
- static struct option long_options[] = {
+ static const struct option long_options[] = {
{"local", required_argument, NULL, 'l'},
{"remote", required_argument, NULL, 'r'},
{"batches", required_argument, NULL, 'b'},
{ "help", 0, 0, cmd_help },
{ NULL, 0, 0, NULL },
};
+
+static const struct command *get_all_commands(void)
+{
+ return all_commands;
+}