diff options
author | Denis Vlasenko | 2007-09-24 18:27:04 +0000 |
---|---|---|
committer | Denis Vlasenko | 2007-09-24 18:27:04 +0000 |
commit | 818322b9b19a452d66a07ca69256e2c092f5db5f (patch) | |
tree | 0b34390ac0cd61951bb9dc5b9fd3a226dae4f1ef /coreutils | |
parent | a7ce207bd82882d6436d256a73c42ca4c8500ff3 (diff) | |
download | busybox-818322b9b19a452d66a07ca69256e2c092f5db5f.zip busybox-818322b9b19a452d66a07ca69256e2c092f5db5f.tar.gz |
*: 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.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 f59d7a8..ec1f85b 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 76dc566..889e460 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 a649903..f3c67aa 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 1d29770..d13f4d5 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 ba37762..a686fc4 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 '..'"); |