diff options
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/basename.c | 3 | ||||
-rw-r--r-- | coreutils/cp.c | 2 | ||||
-rw-r--r-- | coreutils/ln.c | 4 | ||||
-rw-r--r-- | coreutils/mv.c | 2 | ||||
-rw-r--r-- | coreutils/rm.c | 2 |
5 files changed, 7 insertions, 6 deletions
diff --git a/coreutils/basename.c b/coreutils/basename.c index f59d7a8de..ec1f85bef 100644 --- a/coreutils/basename.c +++ b/coreutils/basename.c @@ -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); diff --git a/coreutils/cp.c b/coreutils/cp.c index 76dc566b3..889e4604d 100644 --- a/coreutils/cp.c +++ b/coreutils/cp.c @@ -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; diff --git a/coreutils/ln.c b/coreutils/ln.c index a6499039e..f3c67aa36 100644 --- a/coreutils/ln.c +++ b/coreutils/ln.c @@ -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; } diff --git a/coreutils/mv.c b/coreutils/mv.c index 1d2977060..d13f4d54f 100644 --- a/coreutils/mv.c +++ b/coreutils/mv.c @@ -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; diff --git a/coreutils/rm.c b/coreutils/rm.c index ba37762a8..a686fc40c 100644 --- a/coreutils/rm.c +++ b/coreutils/rm.c @@ -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 '..'"); |