From 818322b9b19a452d66a07ca69256e2c092f5db5f Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Mon, 24 Sep 2007 18:27:04 +0000 Subject: *: 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 --- coreutils/basename.c | 3 ++- coreutils/cp.c | 2 +- coreutils/ln.c | 4 ++-- coreutils/mv.c | 2 +- coreutils/rm.c | 2 +- 5 files changed, 7 insertions(+), 6 deletions(-) (limited to 'coreutils') 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 '..'"); -- cgit v1.1