|
@@ -283,10 +283,18 @@ static int parse_io_param(struct io *io, char *opt, int open_flags, mode_t open_
|
283
|
283
|
return 0;
|
284
|
284
|
}
|
285
|
285
|
|
|
286
|
+extern char *optarg;
|
|
287
|
+extern int optind, opterr, optopt;
|
|
288
|
+
|
286
|
289
|
static void parse_options(struct ts *ts, int argc, char **argv) {
|
287
|
290
|
int j, i, ca_err = 0, server_err = 1, input_addr_err = 0, output_addr_err = 0, output_intf_err = 0, ident_err = 0, port_set = 0;
|
|
291
|
+ opterr = 0; // Prevent printing of error messages for unknown options in getopt()
|
288
|
292
|
while ((j = getopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
|
289
|
293
|
char *p = NULL;
|
|
294
|
+ if (j == '?') {
|
|
295
|
+ fprintf(stderr, "ERROR: Unknown parameter '%s'.\n", argv[optind - 1]);
|
|
296
|
+ exit(EXIT_FAILURE);
|
|
297
|
+ }
|
290
|
298
|
switch (j) {
|
291
|
299
|
case 'i': // -- ident
|
292
|
300
|
ts->ident = optarg;
|