From 8863154e446d6b60ff6afd6572ce5d9c9651a59c Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Thu, 16 Oct 2014 21:22:32 -0300 Subject: [PATCH] strbuf: do not calculate next step in size on all calls We only need to check if the new size is less or equal than the current size. We don't really need to calculate the next step. --- shared/strbuf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shared/strbuf.c b/shared/strbuf.c index a11f638..af445d9 100644 --- a/shared/strbuf.c +++ b/shared/strbuf.c @@ -33,14 +33,14 @@ static bool buf_grow(struct strbuf *buf, size_t newsize) void *tmp; size_t sz; + if (newsize <= buf->size) + return true; + if (newsize % BUF_STEP == 0) sz = newsize; else sz = ((newsize / BUF_STEP) + 1) * BUF_STEP; - if (buf->size == sz) - return true; - tmp = realloc(buf->bytes, sz); if (sz > 0 && tmp == NULL) return false;