aboutsummaryrefslogtreecommitdiff
path: root/findutils
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-06-30 08:04:05 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-06-30 08:04:05 +0000
commitdc757aa16ce53d9784fa3953b0c3762dfa8ccda9 (patch)
tree2eee7a83dcbd38fcfbcdbec8b5d52f4baff3326f /findutils
parentf7d07b1723c15ee818f0c1f5cce96c55274024a6 (diff)
downloadbusybox-dc757aa16ce53d9784fa3953b0c3762dfa8ccda9.tar.gz
introduce and use bb_basename()
function old new delta bb_basename - 26 +26 sv_main 1226 1225 -1 passwd_main 1985 1983 -2 showdirs 482 478 -4 sendCgi 1811 1807 -4 make_device 1354 1350 -4 handleIncoming 2443 2439 -4 func_name 82 78 -4 service_name 2292 2285 -7 main 909 901 -8 cmp_main 555 547 -8 test_main 434 422 -12 act 228 216 -12 find_pair 180 164 -16 rmmod_main 298 280 -18 find_pid_by_name 156 134 -22 modprobe_main 1606 1576 -30 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/16 up/down: 26/-156) Total: -130 bytes text data bss dec hex filename 734933 3028 14400 752361 b7ae9 busybox_old 734801 3028 14400 752229 b7a65 busybox_unstripped
Diffstat (limited to 'findutils')
-rw-r--r--findutils/find.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/findutils/find.c b/findutils/find.c
index aa2244141..07cae971e 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -180,18 +180,13 @@ static int exec_actions(action ***appp, const char *fileName, struct stat *statb
ACTF(name)
{
- const char *tmp = strrchr(fileName, '/');
- if (tmp == NULL)
- tmp = fileName;
- else {
- tmp++;
- if (!*tmp) { /* "foo/bar/". Oh no... go back to 'b' */
- tmp--;
- while (tmp != fileName && *--tmp != '/')
- continue;
- if (*tmp == '/')
- tmp++;
- }
+ const char *tmp = bb_basename(fileName);
+ if (tmp != fileName && !*tmp) { /* "foo/bar/". Oh no... go back to 'b' */
+ tmp--;
+ while (tmp != fileName && *--tmp != '/')
+ continue;
+ if (*tmp == '/')
+ tmp++;
}
return fnmatch(ap->pattern, tmp, FNM_PERIOD) == 0;
}