diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-30 08:04:05 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-06-30 08:04:05 +0000 |
commit | dc757aa16ce53d9784fa3953b0c3762dfa8ccda9 (patch) | |
tree | 2eee7a83dcbd38fcfbcdbec8b5d52f4baff3326f /findutils | |
parent | f7d07b1723c15ee818f0c1f5cce96c55274024a6 (diff) | |
download | busybox-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.c | 19 |
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; } |