summaryrefslogtreecommitdiffhomepage
path: root/coreutils
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-09-24 18:27:04 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-09-24 18:27:04 +0000
commit818322b9b19a452d66a07ca69256e2c092f5db5f (patch)
tree0b34390ac0cd61951bb9dc5b9fd3a226dae4f1ef /coreutils
parenta7ce207bd82882d6436d256a73c42ca4c8500ff3 (diff)
*: 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
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/basename.c3
-rw-r--r--coreutils/cp.c2
-rw-r--r--coreutils/ln.c4
-rw-r--r--coreutils/mv.c2
-rw-r--r--coreutils/rm.c2
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 '..'");