*: kill bb_get_last_path_component, replace with two functions
(one which strips trailing slash and one which does not) wget: straighten out as a result of above change text data bss dec hex filename 5056 1 0 5057 13c1 busybox.t4/networking/wget.o 5022 0 0 5022 139e busybox.t5/networking/wget.o
This commit is contained in:
@ -34,7 +34,8 @@ int basename_main(int argc, char **argv)
|
||||
bb_show_usage();
|
||||
}
|
||||
|
||||
s = bb_get_last_path_component(*++argv);
|
||||
/* It should strip slash: /abc/def/ -> def */
|
||||
s = bb_get_last_path_component_strip(*++argv);
|
||||
|
||||
if (*++argv) {
|
||||
n = strlen(*argv);
|
||||
|
@ -87,7 +87,7 @@ int cp_main(int argc, char **argv)
|
||||
}
|
||||
|
||||
while (1) {
|
||||
dest = concat_path_file(last, bb_get_last_path_component(*argv));
|
||||
dest = concat_path_file(last, bb_get_last_path_component_strip(*argv));
|
||||
DO_COPY:
|
||||
if (copy_file(*argv, dest, flags) < 0) {
|
||||
status = 1;
|
||||
|
@ -45,7 +45,7 @@ int ln_main(int argc, char **argv)
|
||||
|
||||
if (argc == optind + 1) {
|
||||
*--argv = last;
|
||||
last = bb_get_last_path_component(xstrdup(last));
|
||||
last = bb_get_last_path_component_strip(xstrdup(last));
|
||||
}
|
||||
|
||||
do {
|
||||
@ -57,7 +57,7 @@ int ln_main(int argc, char **argv)
|
||||
NULL)
|
||||
) {
|
||||
src_name = xstrdup(*argv);
|
||||
src = concat_path_file(src, bb_get_last_path_component(src_name));
|
||||
src = concat_path_file(src, bb_get_last_path_component_strip(src_name));
|
||||
free(src_name);
|
||||
src_name = src;
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ int mv_main(int argc, char **argv)
|
||||
}
|
||||
|
||||
do {
|
||||
dest = concat_path_file(last, bb_get_last_path_component(*argv));
|
||||
dest = concat_path_file(last, bb_get_last_path_component_strip(*argv));
|
||||
dest_exists = cp_mv_stat(dest, &dest_stat);
|
||||
if (dest_exists < 0) {
|
||||
goto RET_1;
|
||||
|
@ -38,7 +38,7 @@ int rm_main(int argc, char **argv)
|
||||
|
||||
if (*argv != NULL) {
|
||||
do {
|
||||
const char *base = bb_get_last_path_component(*argv);
|
||||
const char *base = bb_get_last_path_component_strip(*argv);
|
||||
|
||||
if (DOT_OR_DOTDOT(base)) {
|
||||
bb_error_msg("cannot remove '.' or '..'");
|
||||
|
Reference in New Issue
Block a user