Browse Source

Show error when unknown command line parameter was given.

Georgi Chorbadzhiyski 11 years ago
parent
commit
c37cdd1b4f
1 changed files with 8 additions and 0 deletions
  1. 8
    0
      tsdecrypt.c

+ 8
- 0
tsdecrypt.c View File

@@ -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;

Loading…
Cancel
Save