[git commit] find: code shrink

Denys Vlasenko vda.linux at googlemail.com
Wed Feb 26 14:27:10 UTC 2014


commit: http://git.busybox.net/busybox/commit/?id=6885e49ba596239a0b0d3631fd72fc2692fbb65c
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

function                                             old     new   delta
func_exec                                            306     285     -21

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 findutils/find.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/findutils/find.c b/findutils/find.c
index 5d5e24b..044f010 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;


More information about the busybox-cvs mailing list