This marginally simplifies the code. Writing argc--; argv++; after the
option parsing loop is a common idiom anyway.
---
contrib/elftoolchain/elfcopy/main.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/contrib/elftoolchain/elfcopy/main.c b/contrib/elftoolchain/elfcopy/main.c
index 919fbf193bc4..f9a6cb612fab 100644
--- a/contrib/elftoolchain/elfcopy/main.c
+++ b/contrib/elftoolchain/elfcopy/main.c
@@ -1016,14 +1016,16 @@ elfcopy_main(struct elfcopy *ecp, int argc, char **argv)
elfcopy_usage();
}
}
+ argc -= optind;
+ argv += optind;
- if (optind == argc || optind + 2 < argc)
+ if (argc == 0 || argc > 2)
elfcopy_usage();
- infile = argv[optind];
+ infile = argv[0];
outfile = NULL;
- if (optind + 1 < argc)
- outfile = argv[optind + 1];
+ if (argc > 1)
+ outfile = argv[1];
create_file(ecp, infile, outfile);
}
@@ -1066,8 +1068,10 @@ mcs_main(struct elfcopy *ecp, int argc, char **argv)
mcs_usage();
}
}
+ argc -= optind;
+ argv += optind;
- if (optind == argc)
+ if (argc == 0)
mcs_usage();
/* Must specify one operation at least. */
@@ -1104,7 +1108,7 @@ mcs_main(struct elfcopy *ecp, int argc, char **argv)
sac->string = string;
}
- for (i = optind; i < argc; i++) {
+ for (i = 0; i < argc; i++) {
/* If only -p is specified, output to /dev/null */
if (print && !append && !compress && !delete)
create_file(ecp, argv[i], "/dev/null");
@@ -1179,16 +1183,18 @@ strip_main(struct elfcopy *ecp, int argc, char **argv)
strip_usage();
}
}
+ argc -= optind;
+ argv += optind;
if (ecp->strip == 0 &&
((ecp->flags & DISCARD_LOCAL) == 0) &&
((ecp->flags & DISCARD_LLABEL) == 0) &&
lookup_symop_list(ecp, NULL, SYMOP_STRIP) == NULL)
ecp->strip = STRIP_ALL;
- if (optind == argc)
+ if (argc == 0)
strip_usage();
- for (i = optind; i < argc; i++)
+ for (i = 0; i < argc; i++)
create_file(ecp, argv[i], outfile);
}
--
2.22.0
|