diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2014-02-26 15:27:10 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2014-02-26 15:27:10 +0100 |
commit | 6885e49ba596239a0b0d3631fd72fc2692fbb65c (patch) | |
tree | b48310d6f49b1d3c78cfafda5450b65455fbe355 /findutils | |
parent | c472898eaa0ccc1d4d787ae1917a8f40d18889cb (diff) | |
download | busybox-6885e49ba596239a0b0d3631fd72fc2692fbb65c.tar.gz |
find: code shrink
function old new delta
func_exec 306 285 -21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'findutils')
-rw-r--r-- | findutils/find.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/findutils/find.c b/findutils/find.c index 5d5e24bfb..044f010b0 100644 --- a/findutils/find.c +++ b/findutils/find.c @@ -420,12 +420,10 @@ static char* subst(const char *src, unsigned count, const char* filename) size_t flen = strlen(filename); /* we replace each '{}' with filename: growth by strlen-2 */ buf = dst = xmalloc(strlen(src) + count*(flen-2) + 1); - while ((end = strstr(src, "{}"))) { - memcpy(dst, src, end - src); - dst += end - src; + while ((end = strstr(src, "{}")) != NULL) { + dst = mempcpy(dst, src, end - src); + dst = mempcpy(dst, filename, flen); src = end + 2; - memcpy(dst, filename, flen); - dst += flen; } strcpy(dst, src); return buf; |