find: code shrink

function                                             old     new   delta
func_exec                                            306     285     -21

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2014-02-26 15:27:10 +01:00
parent c472898eaa
commit 6885e49ba5

View File

@ -420,12 +420,10 @@ static char* subst(const char *src, unsigned count, const char* filename)
size_t flen = strlen(filename); size_t flen = strlen(filename);
/* we replace each '{}' with filename: growth by strlen-2 */ /* we replace each '{}' with filename: growth by strlen-2 */
buf = dst = xmalloc(strlen(src) + count*(flen-2) + 1); buf = dst = xmalloc(strlen(src) + count*(flen-2) + 1);
while ((end = strstr(src, "{}"))) { while ((end = strstr(src, "{}")) != NULL) {
memcpy(dst, src, end - src); dst = mempcpy(dst, src, end - src);
dst += end - src; dst = mempcpy(dst, filename, flen);
src = end + 2; src = end + 2;
memcpy(dst, filename, flen);
dst += flen;
} }
strcpy(dst, src); strcpy(dst, src);
return buf; return buf;