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
 	return 0;
283
 	return 0;
284
 }
284
 }
285
 
285
 
286
+extern char *optarg;
287
+extern int optind, opterr, optopt;
288
+
286
 static void parse_options(struct ts *ts, int argc, char **argv) {
289
 static void parse_options(struct ts *ts, int argc, char **argv) {
287
 	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;
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
 	while ((j = getopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
292
 	while ((j = getopt_long(argc, argv, short_options, long_options, NULL)) != -1) {
289
 		char *p = NULL;
293
 		char *p = NULL;
294
+		if (j == '?') {
295
+			fprintf(stderr, "ERROR: Unknown parameter '%s'.\n", argv[optind - 1]);
296
+			exit(EXIT_FAILURE);
297
+		}
290
 		switch (j) {
298
 		switch (j) {
291
 			case 'i': // -- ident
299
 			case 'i': // -- ident
292
 				ts->ident = optarg;
300
 				ts->ident = optarg;

Loading…
Cancel
Save