basename: do not use argc

function                                             old     new   delta
basename_main                                        153     148      -5

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2017-07-21 18:41:46 +02:00
parent 578008a989
commit fd5e66eb8e

View File

@ -47,25 +47,24 @@
/* This is a NOFORK applet. Be very careful! */ /* 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) MAIN_EXTERNALLY_VISIBLE;
int basename_main(int argc, char **argv) int basename_main(int argc UNUSED_PARAM, char **argv)
{ {
size_t m, n; size_t m, n;
char *s; char *s;
if (argv[1] && strcmp(argv[1], "--") == 0) { if (argv[1] && strcmp(argv[1], "--") == 0) {
argv++; argv++;
argc--;
} }
if (!argv[1])
if ((unsigned)(argc-2) >= 2) {
bb_show_usage(); bb_show_usage();
}
/* It should strip slash: /abc/def/ -> def */ /* It should strip slash: /abc/def/ -> def */
s = bb_get_last_path_component_strip(*++argv); s = bb_get_last_path_component_strip(*++argv);
m = strlen(s); m = strlen(s);
if (*++argv) { if (*++argv) {
if (argv[1])
bb_show_usage();
n = strlen(*argv); n = strlen(*argv);
if ((m > n) && (strcmp(s+m-n, *argv) == 0)) { if ((m > n) && (strcmp(s+m-n, *argv) == 0)) {
m -= n; m -= n;