hush: use mempcpy where useful
function old new delta o_addblock 58 42 -16 expand_one_var 1618 1555 -63 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-79) Total: -79 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
94af83eb8d
commit
0675b03de4
11
shell/hush.c
11
shell/hush.c
@ -2662,9 +2662,8 @@ static void o_delchr(o_string *o)
|
||||
static void o_addblock(o_string *o, const char *str, int len)
|
||||
{
|
||||
o_grow_by(o, len);
|
||||
memcpy(&o->data[o->length], str, len);
|
||||
((char*)mempcpy(&o->data[o->length], str, len))[0] = '\0';
|
||||
o->length += len;
|
||||
o->data[o->length] = '\0';
|
||||
}
|
||||
|
||||
static void o_addstr(o_string *o, const char *str)
|
||||
@ -5519,17 +5518,15 @@ static char *replace_pattern(char *val, const char *pattern, const char *repl, c
|
||||
break;
|
||||
|
||||
result = xrealloc(result, res_len + (s - val) + repl_len + 1);
|
||||
memcpy(result + res_len, val, s - val);
|
||||
res_len += s - val;
|
||||
strcpy(result + res_len, repl);
|
||||
res_len += repl_len;
|
||||
strcpy(mempcpy(result + res_len, val, s - val), repl);
|
||||
res_len += (s - val) + repl_len;
|
||||
debug_printf_varexp("val:'%s' s:'%s' result:'%s'\n", val, s, result);
|
||||
|
||||
val = s + size;
|
||||
if (exp_op == '/')
|
||||
break;
|
||||
}
|
||||
if (val[0] && result) {
|
||||
if (*val && result) {
|
||||
result = xrealloc(result, res_len + strlen(val) + 1);
|
||||
strcpy(result + res_len, val);
|
||||
debug_printf_varexp("val:'%s' result:'%s'\n", val, result);
|
||||
|
Loading…
x
Reference in New Issue
Block a user