diff options
author | David Robillard <d@drobilla.net> | 2008-01-05 23:44:41 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-01-05 23:44:41 +0000 |
commit | 083b17d6e594062f61d78f6e1e30d16aaf849078 (patch) | |
tree | ce52c6fe88119c7fe5df42f40f779f6d191301b4 /src/progs/ingen/cmdline.c | |
parent | 7fd21f2bce2b86c7b735a108391bda3dcfbb3455 (diff) | |
download | ingen-083b17d6e594062f61d78f6e1e30d16aaf849078.tar.gz ingen-083b17d6e594062f61d78f6e1e30d16aaf849078.tar.bz2 ingen-083b17d6e594062f61d78f6e1e30d16aaf849078.zip |
Fix connecting mismatched ports bug (closes ticket 129).
Fix command line --help output to match reality.
git-svn-id: http://svn.drobilla.net/lad/ingen@1011 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/ingen/cmdline.c')
-rw-r--r-- | src/progs/ingen/cmdline.c | 83 |
1 files changed, 67 insertions, 16 deletions
diff --git a/src/progs/ingen/cmdline.c b/src/progs/ingen/cmdline.c index a293d127..f4ea58d4 100644 --- a/src/progs/ingen/cmdline.c +++ b/src/progs/ingen/cmdline.c @@ -1,7 +1,7 @@ /* - File autogenerated by gengetopt + File autogenerated by gengetopt version 2.21 generated with the following command: - gengetopt -g + gengetopt The developers of gengetopt consider the fixed text that goes in all gengetopt output files to be in the public domain: @@ -33,7 +33,7 @@ const char *gengetopt_args_info_help[] = { " -e, --engine Run (JACK) engine (default=off)", " -E, --engine-port=INT Engine OSC port (default=`16180')", " -c, --connect=STRING Connect to existing engine at OSC URI \n (default=`osc.udp://localhost:16180')", - " -g, --gui Launch the GTK graphical interface (default=on)", + " -g, --gui Launch the GTK graphical interface (default=off)", " -C, --client-port=INT Client OSC port", " -l, --load=STRING Load patch", " -L, --path=STRING Target path for loaded patch", @@ -48,7 +48,8 @@ static void clear_args (struct gengetopt_args_info *args_info); static int -cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required, const char *additional_error); +cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, + struct cmdline_parser_params *params, const char *additional_error); static char * @@ -78,7 +79,7 @@ void clear_args (struct gengetopt_args_info *args_info) args_info->engine_port_orig = NULL; args_info->connect_arg = gengetopt_strdup ("osc.udp://localhost:16180"); args_info->connect_orig = NULL; - args_info->gui_flag = 1; + args_info->gui_flag = 0; args_info->client_port_orig = NULL; args_info->load_arg = NULL; args_info->load_orig = NULL; @@ -140,6 +141,23 @@ cmdline_parser_init (struct gengetopt_args_info *args_info) init_args_info (args_info); } +struct cmdline_parser_params * +cmdline_parser_params_init() +{ + struct cmdline_parser_params *params = + (struct cmdline_parser_params *)malloc(sizeof(struct cmdline_parser_params)); + + if (params) + { + params->override = 0; + params->initialize = 0; + params->check_required = 0; + params->check_ambiguity = 0; + } + + return params; +} + static void cmdline_parser_release (struct gengetopt_args_info *args_info) { @@ -315,11 +333,33 @@ cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_i } int +cmdline_parser_ext (int argc, char * const *argv, struct gengetopt_args_info *args_info, + struct cmdline_parser_params *params) +{ + int result; + result = cmdline_parser_internal (argc, argv, args_info, params, NULL); + + if (result == EXIT_FAILURE) + { + cmdline_parser_free (args_info); + exit (EXIT_FAILURE); + } + + return result; +} + +int cmdline_parser2 (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required) { int result; + struct cmdline_parser_params params; + + params.override = override; + params.initialize = initialize; + params.check_required = check_required; + params.check_ambiguity = 0; - result = cmdline_parser_internal (argc, argv, args_info, override, initialize, check_required, NULL); + result = cmdline_parser_internal (argc, argv, args_info, ¶ms, NULL); if (result == EXIT_FAILURE) { @@ -337,12 +377,23 @@ cmdline_parser_required (struct gengetopt_args_info *args_info, const char *prog } int -cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, int override, int initialize, int check_required, const char *additional_error) +cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_info *args_info, + struct cmdline_parser_params *params, const char *additional_error) { int c; /* Character of the parsed option. */ int error = 0; struct gengetopt_args_info local_args_info; + + int override; + int initialize; + int check_required; + int check_ambiguity; + + override = params->override; + initialize = params->initialize; + check_required = params->check_required; + check_ambiguity = params->check_ambiguity; if (initialize) cmdline_parser_init (args_info); @@ -392,7 +443,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf exit (EXIT_SUCCESS); case 'e': /* Run (JACK) engine. */ - if (local_args_info.engine_given) + if (local_args_info.engine_given || (check_ambiguity && args_info->engine_given)) { fprintf (stderr, "%s: `--engine' (`-e') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -405,7 +456,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'E': /* Engine OSC port. */ - if (local_args_info.engine_port_given) + if (local_args_info.engine_port_given || (check_ambiguity && args_info->engine_port_given)) { fprintf (stderr, "%s: `--engine-port' (`-E') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -425,7 +476,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'c': /* Connect to existing engine at OSC URI. */ - if (local_args_info.connect_given) + if (local_args_info.connect_given || (check_ambiguity && args_info->connect_given)) { fprintf (stderr, "%s: `--connect' (`-c') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -443,7 +494,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'g': /* Launch the GTK graphical interface. */ - if (local_args_info.gui_given) + if (local_args_info.gui_given || (check_ambiguity && args_info->gui_given)) { fprintf (stderr, "%s: `--gui' (`-g') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -456,7 +507,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'C': /* Client OSC port. */ - if (local_args_info.client_port_given) + if (local_args_info.client_port_given || (check_ambiguity && args_info->client_port_given)) { fprintf (stderr, "%s: `--client-port' (`-C') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -476,7 +527,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'l': /* Load patch. */ - if (local_args_info.load_given) + if (local_args_info.load_given || (check_ambiguity && args_info->load_given)) { fprintf (stderr, "%s: `--load' (`-l') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -494,7 +545,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'L': /* Target path for loaded patch. */ - if (local_args_info.path_given) + if (local_args_info.path_given || (check_ambiguity && args_info->path_given)) { fprintf (stderr, "%s: `--path' (`-L') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -512,7 +563,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'r': /* Run script. */ - if (local_args_info.run_given) + if (local_args_info.run_given || (check_ambiguity && args_info->run_given)) { fprintf (stderr, "%s: `--run' (`-r') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; @@ -530,7 +581,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf break; case 'p': /* Number of concurrent process threads. */ - if (local_args_info.parallelism_given) + if (local_args_info.parallelism_given || (check_ambiguity && args_info->parallelism_given)) { fprintf (stderr, "%s: `--parallelism' (`-p') option given more than once%s\n", argv[0], (additional_error ? additional_error : "")); goto failure; |