summaryrefslogtreecommitdiffhomepage
path: root/miscutils
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2018-12-10 15:12:58 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2018-12-10 15:12:58 +0100
commit8b4cf0dbb08a8a526045051b442e45cb2359b224 (patch)
treec6953681135c8266368609ba5f21604193d58b1a /miscutils
parenta7f1a3654041ed4b1d4716f71a8396977aca8223 (diff)
bc: optimize bc_vec_concat()
function old new delta bc_vec_concat 71 66 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'miscutils')
-rw-r--r--miscutils/bc.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/miscutils/bc.c b/miscutils/bc.c
index afd5c8d0e..71022569e 100644
--- a/miscutils/bc.c
+++ b/miscutils/bc.c
@@ -1165,13 +1165,14 @@ static void bc_vec_string(BcVec *v, size_t len, const char *str)
static void bc_vec_concat(BcVec *v, const char *str)
{
- size_t len;
+ size_t len, slen;
if (v->len == 0) bc_vec_pushZeroByte(v);
- len = v->len + strlen(str);
+ slen = strlen(str);
+ len = v->len + slen;
- if (v->cap < len) bc_vec_grow(v, len - v->len);
+ if (v->cap < len) bc_vec_grow(v, slen);
strcpy(v->v + v->len - 1, str);
v->len = len;