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) | |||
34 | bb_show_usage(); | 34 | bb_show_usage(); |
35 | } | 35 | } |
36 | 36 | ||
37 | s = bb_get_last_path_component(*++argv); | 37 | /* It should strip slash: /abc/def/ -> def */ |
38 | s = bb_get_last_path_component_strip(*++argv); | ||
38 | 39 | ||
39 | if (*++argv) { | 40 | if (*++argv) { |
40 | n = strlen(*argv); | 41 | 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) | |||
87 | } | 87 | } |
88 | 88 | ||
89 | while (1) { | 89 | while (1) { |
90 | dest = concat_path_file(last, bb_get_last_path_component(*argv)); | 90 | dest = concat_path_file(last, bb_get_last_path_component_strip(*argv)); |
91 | DO_COPY: | 91 | DO_COPY: |
92 | if (copy_file(*argv, dest, flags) < 0) { | 92 | if (copy_file(*argv, dest, flags) < 0) { |
93 | status = 1; | 93 | 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) | |||
45 | 45 | ||
46 | if (argc == optind + 1) { | 46 | if (argc == optind + 1) { |
47 | *--argv = last; | 47 | *--argv = last; |
48 | last = bb_get_last_path_component(xstrdup(last)); | 48 | last = bb_get_last_path_component_strip(xstrdup(last)); |
49 | } | 49 | } |
50 | 50 | ||
51 | do { | 51 | do { |
@@ -57,7 +57,7 @@ int ln_main(int argc, char **argv) | |||
57 | NULL) | 57 | NULL) |
58 | ) { | 58 | ) { |
59 | src_name = xstrdup(*argv); | 59 | src_name = xstrdup(*argv); |
60 | src = concat_path_file(src, bb_get_last_path_component(src_name)); | 60 | src = concat_path_file(src, bb_get_last_path_component_strip(src_name)); |
61 | free(src_name); | 61 | free(src_name); |
62 | src_name = src; | 62 | src_name = src; |
63 | } | 63 | } |
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) | |||
68 | } | 68 | } |
69 | 69 | ||
70 | do { | 70 | do { |
71 | dest = concat_path_file(last, bb_get_last_path_component(*argv)); | 71 | dest = concat_path_file(last, bb_get_last_path_component_strip(*argv)); |
72 | dest_exists = cp_mv_stat(dest, &dest_stat); | 72 | dest_exists = cp_mv_stat(dest, &dest_stat); |
73 | if (dest_exists < 0) { | 73 | if (dest_exists < 0) { |
74 | goto RET_1; | 74 | 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) | |||
38 | 38 | ||
39 | if (*argv != NULL) { | 39 | if (*argv != NULL) { |
40 | do { | 40 | do { |
41 | const char *base = bb_get_last_path_component(*argv); | 41 | const char *base = bb_get_last_path_component_strip(*argv); |
42 | 42 | ||
43 | if (DOT_OR_DOTDOT(base)) { | 43 | if (DOT_OR_DOTDOT(base)) { |
44 | bb_error_msg("cannot remove '.' or '..'"); | 44 | bb_error_msg("cannot remove '.' or '..'"); |