[git commit] basename: do not use argc

Denys Vlasenko vda.linux at googlemail.com
Fri Jul 21 16:41:46 UTC 2017


commit: https://git.busybox.net/busybox/commit/?id=fd5e66eb8eb4e39460a6cfde4b10dcab3870f26b
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
basename_main                                        153     148      -5

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 coreutils/basename.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/coreutils/basename.c b/coreutils/basename.c
index 481cdce..566aeeb 100644
--- a/coreutils/basename.c
+++ b/coreutils/basename.c
@@ -47,25 +47,24 @@
 /* This is a NOFORK applet. Be very careful! */
 
 int basename_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
-int basename_main(int argc, char **argv)
+int basename_main(int argc UNUSED_PARAM, char **argv)
 {
 	size_t m, n;
 	char *s;
 
 	if (argv[1] && strcmp(argv[1], "--") == 0) {
 		argv++;
-		argc--;
 	}
-
-	if ((unsigned)(argc-2) >= 2) {
+	if (!argv[1])
 		bb_show_usage();
-	}
 
 	/* It should strip slash: /abc/def/ -> def */
 	s = bb_get_last_path_component_strip(*++argv);
 
 	m = strlen(s);
 	if (*++argv) {
+		if (argv[1])
+			bb_show_usage();
 		n = strlen(*argv);
 		if ((m > n) && (strcmp(s+m-n, *argv) == 0)) {
 			m -= n;


More information about the busybox-cvs mailing list