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:
parent
578008a989
commit
fd5e66eb8e
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user