From a60738a50dbec68b219c9ad68a867127d42fffdd Mon Sep 17 00:00:00 2001 From: George Koehler Date: Mon, 5 Feb 2018 14:55:10 -0500 Subject: [PATCH] Don't use '-' in option string to getopt(). Using '-' might fail on platforms like FreeBSD. Commit 50a7031 stopped using '-' in the B compiler and ego. I now stop using '-' in mcg, because I can now check that mcg still works. --- mach/proto/mcg/main.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/mach/proto/mcg/main.c b/mach/proto/mcg/main.c index cf8a4435f..aa0fa4816 100644 --- a/mach/proto/mcg/main.c +++ b/mach/proto/mcg/main.c @@ -42,13 +42,14 @@ int main(int argc, char* const argv[]) const char* inputfilename = NULL; const char* outputfilename = NULL; FILE* output; + int i; program_name = argv[0]; opterr = 1; for (;;) { - int c = getopt(argc, argv, "-d:D:C:o:"); + int c = getopt(argc, argv, "d:D:C:o:"); if (c == -1) break; @@ -79,20 +80,22 @@ int main(int argc, char* const argv[]) fatal("already specified an output file"); outputfilename = optarg; break; - - case 1: - if (inputfilename) - fatal("unexpected argument '%s'", optarg); - inputfilename = optarg; } } + for (i = optind; i < argc; i++) + { + if (inputfilename) + fatal("unexpected argument '%s'", argv[i]); + inputfilename = argv[i]; + } + symbol_init(); - if (!EM_open((char*) inputfilename)) - fatal("couldn't open input '%s': %s", + if (!EM_open((char*) inputfilename)) + fatal("couldn't open input '%s': %s", inputfilename ? inputfilename : "", EM_error); - + if (outputfilename) { outputfile = fopen(outputfilename, "w");