changeset 95:7c7ace4999c1

trau-hr-dump: change code to use getopt
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 18 Mar 2025 23:08:29 +0000
parents f9ef582c199c
children 13d47c9df28b
files trau-decode/trau-hr-dump.c
diffstat 1 files changed, 16 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/trau-decode/trau-hr-dump.c	Tue Mar 18 22:56:23 2025 +0000
+++ b/trau-decode/trau-hr-dump.c	Tue Mar 18 23:08:29 2025 +0000
@@ -153,31 +153,24 @@
 main(argc, argv)
 	char **argv;
 {
-	char *filename, *subslot_arg;
+	extern int optind;
+	int c;
 
-	switch (argc) {
-	case 3:
-		if (argv[1][0] == '-')
-			goto usage;
-		filename = argv[1];
-		subslot_arg = argv[2];
-		include_raw = 0;
-		break;
-	case 4:
-		if (strcmp(argv[1], "-r"))
-			goto usage;
-		if (argv[2][0] == '-')
-			goto usage;
-		filename = argv[2];
-		subslot_arg = argv[3];
-		include_raw = 1;
-		break;
-	default:
-	usage:
-		fprintf(stderr, "usage: %s [-r] binfile subslot\n", argv[0]);
-		exit(1);
+	while ((c = getopt(argc, argv, "r")) != EOF) {
+		switch (c) {
+		case 'r':
+			include_raw = 1;
+			continue;
+		default:
+		usage:
+			fprintf(stderr, "usage: %s [-r] binfile subslot\n",
+				argv[0]);
+			exit(1);
+		}
 	}
-	read_ts_file(filename, subslot_arg);
+	if (argc != optind + 2)
+		goto usage;
+	read_ts_file(argv[optind], argv[optind + 1]);
 	process_filebuf();
 	exit(0);
 }